public class DefaultOAuth2UserService extends java.lang.Object implements OAuth2UserService<OAuth2UserRequest,OAuth2User>
OAuth2UserService
that supports standard OAuth 2.0 Provider's.
For standard OAuth 2.0 Provider's, the attribute name used to access the user's name
from the UserInfo response is required and therefore must be available via
UserInfoEndpoint.getUserNameAttributeName()
.
NOTE: Attribute names are not standardized between providers and therefore will vary. Please consult the provider's API documentation for the set of supported user attribute names.
OAuth2UserService
,
OAuth2UserRequest
,
OAuth2User
,
DefaultOAuth2User
Constructor and Description |
---|
DefaultOAuth2UserService() |
Modifier and Type | Method and Description |
---|---|
OAuth2User |
loadUser(OAuth2UserRequest userRequest)
Returns an
OAuth2User after obtaining the user attributes of the End-User from the UserInfo Endpoint. |
void |
setRequestEntityConverter(org.springframework.core.convert.converter.Converter<OAuth2UserRequest,org.springframework.http.RequestEntity<?>> requestEntityConverter)
Sets the
Converter used for converting the OAuth2UserRequest
to a RequestEntity representation of the UserInfo Request. |
void |
setRestOperations(org.springframework.web.client.RestOperations restOperations)
Sets the
RestOperations used when requesting the UserInfo resource. |
public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException
OAuth2UserService
OAuth2User
after obtaining the user attributes of the End-User from the UserInfo Endpoint.loadUser
in interface OAuth2UserService<OAuth2UserRequest,OAuth2User>
userRequest
- the user requestOAuth2User
OAuth2AuthenticationException
- if an error occurs while attempting to obtain the user attributes from the UserInfo Endpointpublic final void setRequestEntityConverter(org.springframework.core.convert.converter.Converter<OAuth2UserRequest,org.springframework.http.RequestEntity<?>> requestEntityConverter)
Converter
used for converting the OAuth2UserRequest
to a RequestEntity
representation of the UserInfo Request.requestEntityConverter
- the Converter
used for converting to a RequestEntity
representation of the UserInfo Requestpublic final void setRestOperations(org.springframework.web.client.RestOperations restOperations)
RestOperations
used when requesting the UserInfo resource.
NOTE: At a minimum, the supplied restOperations
must be configured with the following:
ResponseErrorHandler
- OAuth2ErrorResponseErrorHandler
restOperations
- the RestOperations
used when requesting the UserInfo resource