private JWTClaimsSet fetchOidcProfile(BearerAccessToken accessToken) { final UserInfoRequest userInfoRequest = new UserInfoRequest(configuration.findProviderMetadata().getUserInfoEndpointURI(), accessToken); final HTTPRequest userInfoHttpRequest = userInfoRequest.toHTTPRequest(); try { final HTTPResponse httpResponse = userInfoHttpRequest.send(); logger.debug("Token response: status={}, content={}", httpResponse.getStatusCode(), httpResponse.getContent()); final UserInfoResponse userInfoResponse = UserInfoResponse.parse(httpResponse); if (userInfoResponse instanceof UserInfoErrorResponse) { logger.error("Bad User Info response, error={}", ((UserInfoErrorResponse) userInfoResponse).getErrorObject()); throw new AuthenticationException(); } else { final UserInfoSuccessResponse userInfoSuccessResponse = (UserInfoSuccessResponse) userInfoResponse; final JWTClaimsSet userInfoClaimsSet; if (userInfoSuccessResponse.getUserInfo() != null) { userInfoClaimsSet = userInfoSuccessResponse.getUserInfo().toJWTClaimsSet(); } else { userInfoClaimsSet = userInfoSuccessResponse.getUserInfoJWT().getJWTClaimsSet(); } return userInfoClaimsSet; } } catch (IOException | ParseException | java.text.ParseException | AuthenticationException e) { throw new TechnicalException(e); } } }
httpResponse.getContent());
final HTTPResponse httpResponse = userInfoHttpRequest.send(); logger.debug("Token response: status={}, content={}", httpResponse.getStatusCode(), httpResponse.getContent());
.equals(errorObject.getCode())){ throw new AdalClaimsChallengeException(errorResponse.toJSONObject() .toJSONString(), getClaims(httpResponse.getContent()));
.equals(errorObject.getCode())){ throw new AdalClaimsChallengeException(errorResponse.toJSONObject() .toJSONString(), getClaims(httpResponse.getContent()));