|
|
|
@ -100,8 +100,21 @@ public class NimbusOAuth2UserService implements OAuth2UserService { |
|
|
|
if (httpResponse.getStatusCode() != HTTPResponse.SC_OK) { |
|
|
|
if (httpResponse.getStatusCode() != HTTPResponse.SC_OK) { |
|
|
|
UserInfoErrorResponse userInfoErrorResponse = UserInfoErrorResponse.parse(httpResponse); |
|
|
|
UserInfoErrorResponse userInfoErrorResponse = UserInfoErrorResponse.parse(httpResponse); |
|
|
|
ErrorObject errorObject = userInfoErrorResponse.getErrorObject(); |
|
|
|
ErrorObject errorObject = userInfoErrorResponse.getErrorObject(); |
|
|
|
OAuth2Error oauth2Error = new OAuth2Error(errorObject.getCode(), errorObject.getDescription(), |
|
|
|
|
|
|
|
(errorObject.getURI() != null ? errorObject.getURI().toString() : null)); |
|
|
|
StringBuilder errorDescription = new StringBuilder(); |
|
|
|
|
|
|
|
errorDescription.append("An error occurred while attempting to access the UserInfo Endpoint -> "); |
|
|
|
|
|
|
|
errorDescription.append("Error details: ["); |
|
|
|
|
|
|
|
errorDescription.append("UserInfo Uri: ").append(userInfoUri.toString()); |
|
|
|
|
|
|
|
errorDescription.append(", Http Status: ").append(errorObject.getHTTPStatusCode()); |
|
|
|
|
|
|
|
if (errorObject.getCode() != null) { |
|
|
|
|
|
|
|
errorDescription.append(", Error Code: ").append(errorObject.getCode()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (errorObject.getDescription() != null) { |
|
|
|
|
|
|
|
errorDescription.append(", Error Description: ").append(errorObject.getDescription()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
errorDescription.append("]"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OAuth2Error oauth2Error = new OAuth2Error(INVALID_USER_INFO_RESPONSE_ERROR_CODE, errorDescription.toString(), null); |
|
|
|
throw new OAuth2AuthenticationException(oauth2Error, oauth2Error.toString()); |
|
|
|
throw new OAuth2AuthenticationException(oauth2Error, oauth2Error.toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|