クラス DefaultOAuth2UserService

java.lang.ObjectSE
org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService
実装されたすべてのインターフェース:
OAuth2UserService<OAuth2UserRequest,OAuth2User>

public class DefaultOAuth2UserService extends ObjectSE implements OAuth2UserService<OAuth2UserRequest,OAuth2User>
標準の OAuth 2.0 プロバイダーをサポートする OAuth2UserService の実装。

標準の OAuth 2.0 プロバイダーの場合、UserInfo レスポンスからユーザーの名前にアクセスするために使用される属性名が必要であるため、UserInfoEndpoint.getUserNameAttributeName() を介して使用可能でなければなりません。

: 属性名はプロバイダー間で標準化されていないため、異なる場合があります。サポートされるユーザー属性名のセットについては、プロバイダーの API ドキュメントを参照してください。

導入:
5.0
関連事項:
  • コンストラクターの詳細

    • DefaultOAuth2UserService

      public DefaultOAuth2UserService()
  • メソッドの詳細

    • loadUser

      public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException
      インターフェースからコピーされた説明: OAuth2UserService
      UserInfo エンドポイントからエンドユーザーのユーザー属性を取得した後、OAuth2User を返します。
      次で指定:
      インターフェース OAuth2UserService<OAuth2UserRequest,OAuth2User>loadUser 
      パラメーター:
      userRequest - ユーザーリクエスト
      戻り値:
      OAuth2User
      例外:
      OAuth2AuthenticationException - UserInfo エンドポイントからユーザー属性を取得しようとしてエラーが発生した場合
    • setAttributesConverter

      public void setAttributesConverter(org.springframework.core.convert.converter.Converter<OAuth2UserRequest,org.springframework.core.convert.converter.Converter<MapSE<StringSE,ObjectSE>,MapSE<StringSE,ObjectSE>>> attributesConverter)
      この戦略を使用して、ユーザー属性を Spring Security が理解できる形式に適合させます。デフォルトでは、元の属性が保持されます。

      これは、たとえば、ユーザー属性がネストされている場合に役立ちます。Spring Security ではユーザー名属性を最上位レベルに配置する必要があるため、このメソッドを使用して次の操作を実行できます。

           DefaultOAuth2UserService userService = new DefaultOAuth2UserService();
           userService.setAttributesConverter((userRequest) -> (attributes) ->
               Map<String, Object> userObject = (Map<String, Object>) attributes.get("user");
               attributes.put("user-name", userObject.get("user-name"));
               return attributes;
           });
       
      パラメーター:
      attributesConverter - 使用する属性適応戦略
      導入:
      6.3
    • setRequestEntityConverter

      public final void setRequestEntityConverter(org.springframework.core.convert.converter.Converter<OAuth2UserRequest,org.springframework.http.RequestEntity<?>> requestEntityConverter)
      OAuth2UserRequest を UserInfo リクエストの RequestEntity 表現に変換するために使用される Converter を設定します。
      パラメーター:
      requestEntityConverter - UserInfo リクエストの RequestEntity 表現への変換に使用される Converter 
      導入:
      5.1
    • setRestOperations

      public final void setRestOperations(org.springframework.web.client.RestOperations restOperations)
      UserInfo リソースをリクエストするときに使用される RestOperations を設定します。

      注意 : 少なくとも、提供されている restOperations は、以下で構成する必要があります。

      1. ResponseErrorHandler - OAuth2ErrorResponseErrorHandler
      パラメーター:
      restOperations - UserInfo リソースをリクエストするときに使用される RestOperations 
      導入:
      5.1