クラス OAuth2LoginAuthenticationProvider

java.lang.ObjectSE
org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationProvider
実装されたすべてのインターフェース:
AuthenticationProvider

public class OAuth2LoginAuthenticationProvider extends ObjectSE implements AuthenticationProvider
OAuth 2.0 認証コード付与フローを活用する OAuth 2.0 ログイン用の AuthenticationProvider の実装。この AuthenticationProvider は、認証サーバーのトークンエンドポイントを使用して認証コードのクレデンシャルを認証し、有効な場合はアクセストークンのクレデンシャルと交換するロールを果たします。

また、OAuth2UserService を使用して UserInfo エンドポイントからエンドユーザー(リソース所有者)のユーザー属性を取得し、OAuth2User の形式で Principal を作成します。次に、OAuth2User が OAuth2LoginAuthenticationToken に関連付けられ、認証が完了します。

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

    • OAuth2LoginAuthenticationProvider

      public OAuth2LoginAuthenticationProvider(OAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient, OAuth2UserService<OAuth2UserRequest,OAuth2User> userService)
      指定されたパラメーターを使用して OAuth2LoginAuthenticationProvider を構築します。
      パラメーター:
      accessTokenResponseClient - トークンエンドポイントからアクセストークンクレデンシャルをリクエストするために使用されるクライアント
      userService - UserInfo エンドポイントからエンドユーザーのユーザー属性を取得するために使用されるサービス
  • メソッドの詳細

    • authenticate

      public Authentication authenticate(Authentication authentication) throws AuthenticationException
      インターフェースからコピーされた説明: AuthenticationProvider
      AuthenticationManager.authenticate(Authentication) と同じ契約で認証を実行します。
      次で指定:
      インターフェース AuthenticationProviderauthenticate 
      パラメーター:
      authentication - 認証リクエストオブジェクト。
      戻り値:
      資格情報を含む完全に認証されたオブジェクト。AuthenticationProvider が、渡された Authentication オブジェクトの認証をサポートできない場合、null を返すことがあります。そのような場合、提示された Authentication クラスをサポートする次の AuthenticationProvider が試行されます。
      例外:
      AuthenticationException - 認証が失敗した場合。
    • setAuthoritiesMapper

      public final void setAuthoritiesMapper(GrantedAuthoritiesMapper authoritiesMapper)
      OAuth2AuthenticatedPrincipal.getAuthorities()OAuth2LoginAuthenticationToken に関連付けられる新しい権限のセットにマッピングするために使用される GrantedAuthoritiesMapper を設定します。
      パラメーター:
      authoritiesMapper - ユーザーの権限のマッピングに使用される GrantedAuthoritiesMapper
    • supports

      public boolean supports(ClassSE<?> authentication)
      インターフェースからコピーされた説明: AuthenticationProvider
      この AuthenticationProvider が指定された Authentication オブジェクトをサポートする場合、true を返します。

      true を返しても、AuthenticationProvider が提示された Authentication オブジェクトを認証できることは保証されません。これは単に、より詳細な評価をサポートできることを示しているだけです。AuthenticationProvider は、AuthenticationProvider.authenticate(Authentication) メソッドから null を返して、別の AuthenticationProvider を試す必要があることを示すことができます。

      認証を実行できる AuthenticationProvider の選択は、実行時に ProviderManager で行われます。

      次で指定:
      インターフェース AuthenticationProvidersupports 
      戻り値:
      実装が提示された Authentication クラスをより厳密に評価できる場合は true