Class DefaultOAuth2UserService

java.lang.Object
org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService
All Implemented Interfaces:
OAuth2UserService<OAuth2UserRequest,OAuth2User>

public class DefaultOAuth2UserService extends Object implements OAuth2UserService<OAuth2UserRequest,OAuth2User>
An implementation of an 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.

Since:
5.0
See Also:
  • Constructor Details

    • DefaultOAuth2UserService

      public DefaultOAuth2UserService()
  • Method Details

    • loadUser

      public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException
      Description copied from interface: OAuth2UserService
      Returns an OAuth2User after obtaining the user attributes of the End-User from the UserInfo Endpoint.
      Specified by:
      loadUser in interface OAuth2UserService<OAuth2UserRequest,OAuth2User>
      Parameters:
      userRequest - the user request
      Returns:
      an OAuth2User
      Throws:
      OAuth2AuthenticationException - if an error occurs while attempting to obtain the user attributes from the UserInfo Endpoint
    • setRequestEntityConverter

      public final 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.
      Parameters:
      requestEntityConverter - the Converter used for converting to a RequestEntity representation of the UserInfo Request
      Since:
      5.1
    • setRestOperations

      public final void setRestOperations(org.springframework.web.client.RestOperations restOperations)
      Sets the RestOperations used when requesting the UserInfo resource.

      NOTE: At a minimum, the supplied restOperations must be configured with the following:

      1. ResponseErrorHandler - OAuth2ErrorResponseErrorHandler
      Parameters:
      restOperations - the RestOperations used when requesting the UserInfo resource
      Since:
      5.1