クラス OpaqueTokenAuthenticationProvider
- 実装されたすべてのインターフェース:
AuthenticationProvider
AuthenticationProvider
実装。OAuth 2.0 イントロスペクションエンドポイントを使用してトークンの有効性を確認し、その属性を明らかにします。 この AuthenticationProvider
は、不透明なアクセストークンのイントロスペクトと検証を行い、Authentication
ステートメントの一部として設定された属性を返します。
スコープは、次のアルゴリズムに従って GrantedAuthority
に変換されます。
- "scope" 属性 がある場合は、
String
SE のCollection
SE に変換します。 - 結果の
Collection
SE を取得し、"SCOPE_" キーワードを各要素の先頭に追加して、GrantedAuthority
として追加します。
OpaqueTokenIntrospector
は、認可サーバーからトークン属性を取得するロールを果たします。
OpaqueTokenAuthenticationConverter
は、成功したイントロスペクションの結果を Authentication
インスタンスに変換する責任があります (これには、トークン属性からの GrantedAuthority
のマッピングまたは別のソースからの取得が含まれる場合があります)。
- 導入:
- 5.2
- 関連事項:
コンストラクターのサマリー
コンストラクター説明OpaqueTokenAuthenticationProvider
(OpaqueTokenIntrospector introspector) 指定されたパラメーターでOpaqueTokenAuthenticationProvider
を作成しますメソッドのサマリー
修飾子と型メソッド説明authenticate
(Authentication authentication) void
setAuthenticationConverter
(OpaqueTokenAuthenticationConverter authenticationConverter) カスタム Bean を提供して、成功したイントロスペクション結果を選択したAuthentication
インスタンスに変換します。boolean
このAuthenticationProvider
が指定されたAuthentication
オブジェクトをサポートする場合、true
を返します。
コンストラクターの詳細
OpaqueTokenAuthenticationProvider
指定されたパラメーターでOpaqueTokenAuthenticationProvider
を作成します- パラメーター:
introspector
- 使用するOpaqueTokenIntrospector
メソッドの詳細
authenticate
不透明なベアラートークンをイントロスペクトして検証し、Authentication
のインスタンス化をOpaqueTokenAuthenticationConverter
に委譲します。作成された認証が
AbstractAuthenticationToken
のインスタンスで詳細が null の場合、イントロスペクション結果の詳細が使用されます。- 次で指定:
- インターフェース
AuthenticationProvider
のauthenticate
- パラメーター:
authentication
- 認証リクエストオブジェクト。- 戻り値:
- 成功した認証
- 例外:
AuthenticationException
- 何らかの理由で認証に失敗した場合
supports
インターフェースからコピーされた説明:AuthenticationProvider
このAuthenticationProvider
が指定されたAuthentication
オブジェクトをサポートする場合、true
を返します。true
を返しても、AuthenticationProvider
が提示されたAuthentication
オブジェクトを認証できることは保証されません。これは単に、より詳細な評価をサポートできることを示しているだけです。AuthenticationProvider
は、AuthenticationProvider.authenticate(Authentication)
メソッドからnull
を返して、別のAuthenticationProvider
を試す必要があることを示すことができます。認証を実行できる
AuthenticationProvider
の選択は、実行時にProviderManager
で行われます。- 次で指定:
- インターフェース
AuthenticationProvider
のsupports
- 戻り値:
- 実装が提示された
Authentication
クラスをより厳密に評価できる場合はtrue
setAuthenticationConverter
カスタム Bean を提供して、成功したイントロスペクション結果を選択したAuthentication
インスタンスに変換します。デフォルトでは、BearerTokenAuthentication
がビルドされます。- パラメーター:
authenticationConverter
- 使用するコンバーター- 導入:
- 5.8