public void process(HttpServletRequest request, HttpServletResponse response, ServiceProviderToken token) throws IOException { renderer.render(request, response, token); } }
private static final Predicate<ConsumerInformationRenderer> canRender(ServiceProviderToken token, HttpServletRequest request) { return new CanRender(token, request); }
/** * Find the most appropriate consumer info renderer for the request and token. If none can be found from the * dynamically imported services, falls back to the {@code basicConsumerInformationRenderer}. * * @param request users request * @param token token being authorized * @return {@code ConsumerInformationRenderer} to use for rendering consumer info on authorization page */ private ConsumerInformationRenderer findConsumerInfoRenderer(HttpServletRequest request, ServiceProviderToken token) { try { return new DynamicSafeConsumerInformationRenderer(find(consumerInfoRenderers, canRender(token, request)), basicConsumerInformationRenderer); } catch (NoSuchElementException e) { return basicConsumerInformationRenderer; } }
private void process(AuthorizationRequestProcessor processor, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { ServiceProviderToken token; try { token = loader.getTokenForAuthorization(request); } catch (OAuthException e) { if (e instanceof OAuthProblemException) { OAuthProblemUtils.logOAuthProblem(OAuthServlet.getMessage(request, null), (OAuthProblemException) e, log); } handleException(response, e, applicationProperties.getBaseUrl(), false); // setting content type directly to "text/html;charset=UTF-8" does not seem to work, // probably due to the response.reset() call in handleException() above renderError(response, getMessage(e)); return; } if (!loginRedirector.isLoggedIn(request)) { loginRedirector.redirectToLogin(request, response); } else { processor.process(request, response, token); } }
public void process(HttpServletRequest request, HttpServletResponse response, ServiceProviderToken token) throws IOException { ServiceProviderToken newToken; if (request.getParameter("approve") != null) { String verifier = randomizer.randomAlphanumericString(AuthorizeServlet.VERIFIER_LENGTH); newToken = token.authorize(getLoggedInUser(request), verifier); } else if (request.getParameter("deny") != null) { newToken = token.deny(getLoggedInUser(request)); } else { renderer.render(request, response, token); return; } redirectBackToConsumer(request, response, store.put(newToken)); }
private void redirectBackToConsumer(HttpServletRequest request, HttpServletResponse response, ServiceProviderToken token) throws IOException { if (V_1_0_A.equals(token.getVersion())) { redirectBackToConsumerVersion1a(request, response, token); } else { redirectBackToConsumerVersion1(request, response, token); } }
@Override public void doPostInTransaction(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (xsrfTokenValidator.validateFormEncodedToken(request)) { process(post, request, response); } else { response.setStatus(403); renderError(response, "Xsrf token validation failed"); } ResponseHeaderUtil.preventCrossFrameClickJacking(response); }
public void render(HttpServletRequest request, HttpServletResponse response, ServiceProviderToken token) throws IOException { response.setContentType("text/html;charset=UTF-8"); ConsumerInformationRenderer consumerInfoRenderer = findConsumerInfoRenderer(request, token); Map<String, Object> context = new HashMap<>(); context.put("applicationProperties", applicationProperties); context.put("token", token.getToken()); context.put("csrfToken", xsrfTokenAccessor.getXsrfToken(request, response, true)); context.put("csrfTokenParamName", xsrfTokenValidator.getXsrfParameterName()); context.put("consumer", token.getConsumer()); context.put("consumerRenderer", new AuthorizationConsumerRenderer(consumerInfoRenderer, token, request, response.getWriter())); context.put("accessTokensAdminUri", applicationProperties.getBaseUrl() + AccessTokensServlet.PATH); String callback = request.getParameter(OAUTH_CALLBACK); if (callback != null) { context.put("callback", callback); } try { renderer.render("templates/auth/authorize.vm", unmodifiableMap(context), response.getWriter()); } catch (RenderingException e) { throw new ConsumerInformationRenderException("Could not render consumer information", e); } }
@Override public void doGetInTransaction(final HttpServletRequest request, final HttpServletResponse response) throws IOException, ServletException { process(get, request, response); ResponseHeaderUtil.preventCrossFrameClickJacking(response); }
public void redirectToLogin(HttpServletRequest request, HttpServletResponse response) throws IOException { response.sendRedirect(loginUriProvider.getLoginUri(getUri(request)).toASCIIString()); }
@Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String username = userManager.getRemoteUsername(request); if (username == null) { loginRedirector.redirectToLogin(request, response); return; } Locale locale = localeResolver.getLocale(request); Map<String, Object> context = ImmutableMap.<String, Object>of( "tokenItems", ImmutableList.copyOf(getTokenRepresentations(username)), "dateFormat", DateFormat.getDateInstance(DateFormat.MEDIUM, locale), "timeFormat", DateFormat.getTimeInstance(DateFormat.SHORT, locale) ); response.setContentType("text/html;charset=UTF-8"); templateRenderer.render(getTemplate(), context, response.getWriter()); }