@Override public State postResolveAuthentication(Request request, Response response, AuthenticationContext context) throws Throwable { if(!request.getPath().equals(config.getAuthzEndpointPath())) { return State.CONTINUE; } OAuth2Params params = new RequestOAuth2Params(request); ResponseTypeHandler handler = getResponseTypeHandler(request, response, params); if(null == handler) { return State.INTERCEPTED; } Result<AuthzClient> result = handler.validateRequest(request, response, params); if(result.isIntercepted()) { return State.INTERCEPTED; } AuthzClient client = result.get(); //If user not authenticated, redirect to login url. Authentication authc = context.getAuthentication(); if(null == authc || !authc.isAuthenticated() || (authc instanceof ResAuthentication)) { //Expose view data. exposeViewData(request, params, client); return State.CONTINUE; } //Handle authentication. handleAuthenticated(request, response, new SimpleAuthzAuthentication(params, client, um.getUserDetails(authc.getUser()), authc), handler); //Intercepted. return State.INTERCEPTED; }
protected Authentication authenticate(Request request, Response response, OAuth2Params params, String idToken, WacIdToken details) throws Throwable { String clientId = details.getClientId(); String userId = details.getUserId(); UserPrincipal user = null; ClientPrincipal client = null; if(!Strings.isEmpty(userId)) { UserDetails userDetails = um.loadUserDetails(userId); if(null == userDetails) { log.debug("The user id '{}' created with id token '{}' is not found", userId, idToken); return null; }else{ user = userDetails; } } if(!Strings.isEmpty(clientId)) { client = new ResClientPrincipal(clientId); } SimpleAuthentication authc = new SimpleAuthentication(user, details); if(null != client) { authc.setClientPrincipal(client); } return authc; }
@Override public State postResolveAuthentication(Request request, Response response, AuthenticationContext context) throws Throwable { if(!request.getPath().equals(config.getAuthzEndpointPath())) { return State.CONTINUE; } OAuth2Params params = new RequestOAuth2Params(request); ResponseTypeHandler handler = getResponseTypeHandler(request, response, params); if(null == handler) { return State.INTERCEPTED; } Result<AuthzClient> result = handler.validateRequest(request, response, params); if(result.isIntercepted()) { return State.INTERCEPTED; } AuthzClient client = result.get(); //If user not authenticated, redirect to login url. Authentication authc = context.getAuthentication(); //todo: if(null == authc || !authc.isAuthenticated() || (authc instanceof ResAuthentication)) { if(null == authc || !authc.isAuthenticated()) { //Expose view data. exposeViewData(request, params, client); return State.CONTINUE; } //Handle authentication. handleAuthenticated(request, response, new SimpleAuthzAuthentication(params, client, um.getUserDetails(authc.getUser()), authc), handler); //Intercepted. return State.INTERCEPTED; }
UserDetails userDetails = userManager.loadUserDetails(userid); if(null == userDetails) { OAuth2Errors.invalidToken(request,response,null, "User not found");
handleAuthenticated(request, response, new SimpleAuthzAuthentication(params, client, um.getUserDetails(authc.getUser()), authc), handler);
UserDetails userDetails = userManager.loadUserDetails(userid); if(null == userDetails) { OAuth2Errors.invalidToken(request,response,null, "User not found");
handleAuthenticated(request, response, new SimpleAuthzAuthentication(params, client, um.getUserDetails(authc.getUser()), authc), handler);
UserDetails userDetails = userManager.loadUserDetails(userId);
AuthzAuthentication oauthAuthc = new SimpleAuthzAuthentication(params, client, userManager.getUserDetails(authc.getUser()));
AuthzAuthentication oauthAuthc = new SimpleAuthzAuthentication(params, client, userManager.getUserDetails(authc.getUser()));
AuthzAuthentication oauthAuthc = new SimpleAuthzAuthentication(params, client, um.getUserDetails(user));
ud = um.getUserDetails(user);