クラス OpaqueTokenAuthenticationProvider
- 実装されているすべてのインターフェース:
AuthenticationProvider
AuthenticationProvider 実装。OAuth 2.0 イントロスペクションエンドポイントを使用してトークンの有効性を確認し、その属性を明らかにします。 この AuthenticationProvider は、不透明なアクセストークンのイントロスペクトと検証を行い、Authentication ステートメントの一部として設定された属性を返します。
スコープは、次のアルゴリズムに従って GrantedAuthority に変換されます。
- "scope" 属性 がある場合は、
StringSE のCollectionSE に変換します。 - 結果の
CollectionSE を取得し、"SCOPE_" キーワードを各要素の先頭に追加して、GrantedAuthorityとして追加します。
OpaqueTokenIntrospector は、認可サーバーからトークン属性を取得するロールを果たします。
OpaqueTokenAuthenticationConverter は、成功したイントロスペクションの結果を Authentication インスタンスに変換する責任があります (これには、トークン属性からの GrantedAuthority のマッピングまたは別のソースからの取得が含まれる場合があります)。
- 導入:
- 5.2
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明OpaqueTokenAuthenticationProvider(OpaqueTokenIntrospector introspector) 指定されたパラメーターでOpaqueTokenAuthenticationProviderを作成します方法の概要
修飾子と型メソッド説明authenticate(Authentication authentication) voidsetAuthenticationConverter(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