use of org.gluu.oxauth.client.auth.user.UserProfile in project oxTrust by GluuFederation.
the class OpenIdClient method getUserProfile.
/**
* {@InheritDoc}
*/
@Override
public UserProfile getUserProfile(final OpenIdCredentials credential, final WebContext context) {
init();
try {
final String accessToken = getAccessToken(credential);
final UserInfoResponse userInfoResponse = getUserInfo(accessToken);
final UserProfile profile = retrieveUserProfileFromUserInfoResponse(context, userInfoResponse);
logger.debug("User profile: '{}'", profile);
return profile;
} catch (final Exception ex) {
throw new CommunicationException(ex);
}
}
use of org.gluu.oxauth.client.auth.user.UserProfile in project oxTrust by GluuFederation.
the class ClientAuthenticationHandler method doAuthentication.
/**
* {@InheritDoc}
*/
@Override
protected HandlerResult doAuthentication(final Credential credential) throws GeneralSecurityException, PreventedException {
final ClientCredential clientCredentials = (ClientCredential) credential;
final OpenIdCredentials openIdCredentials = clientCredentials.getOpenIdCredentials();
logger.debug("Client credentials : '{}'", clientCredentials);
final String clientName = openIdCredentials.getClientName();
logger.debug("Client name : '{}'", clientName);
// Web context
final ServletExternalContext servletExternalContext = (ServletExternalContext) ExternalContextHolder.getExternalContext();
final HttpServletRequest request = (HttpServletRequest) servletExternalContext.getNativeRequest();
final HttpServletResponse response = (HttpServletResponse) servletExternalContext.getNativeResponse();
final WebContext webContext = new J2EContext(request, response);
// Get user profile
final UserProfile userProfile = this.client.getUserProfile(openIdCredentials, webContext);
logger.debug("userProfile : {}", userProfile);
if (userProfile != null) {
final String id = userProfile.getId();
if (StringHelper.isNotEmpty(id)) {
openIdCredentials.setUserProfile(userProfile);
return new HandlerResult(this, clientCredentials, new SimplePrincipal(id, userProfile.getAttributes()));
}
}
throw new FailedLoginException("Provider did not produce profile for " + clientCredentials);
}
Aggregations