クラス JwtIssuerAuthenticationManagerResolver
java.lang.ObjectSE
org.springframework.security.oauth2.server.resource.authentication.JwtIssuerAuthenticationManagerResolver
- 実装されたすべてのインターフェース:
AuthenticationManagerResolver<jakarta.servlet.http.HttpServletRequest>
public final class JwtIssuerAuthenticationManagerResolver
extends ObjectSE
implements AuthenticationManagerResolver<jakarta.servlet.http.HttpServletRequest>
署名付き JWT (JWS) の発行者に基づいて JWT ベースの
AuthenticationManager
を解決する AuthenticationManagerResolver
の実装。このクラスを使用するには、`iss` クレームが信頼できるかどうかを判断できる必要があります。誰でも認可サーバーを立ち上げて、リソースサーバーに有効なトークンを発行できることを思い出してください。これを実現する最も簡単な方法は、コンストラクターで信頼できる発行者のセットを指定することです。このクラスは、HttpServletRequest
のベアラートークンにある `iss` クレームから Issuer を派生します。- 導入:
- 5.3
コンストラクターのサマリー
コンストラクターコンストラクター説明JwtIssuerAuthenticationManagerResolver
(StringSE... trustedIssuers) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。JwtIssuerAuthenticationManagerResolver
(CollectionSE<StringSE> trustedIssuers) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。JwtIssuerAuthenticationManagerResolver
(AuthenticationManagerResolver<StringSE> issuerAuthenticationManagerResolver) 提供されたパラメーターを使用してJwtIssuerAuthenticationManagerResolver
を作成するこのコンストラクターで提供されたAuthenticationManagerResolver
は、発行者が信頼できることを確認する必要があることに注意してください。メソッドのサマリー
修飾子と型メソッド説明fromTrustedIssuers
(StringSE... trustedIssuers) 提供されたパラメーターを使用してJwtIssuerAuthenticationManagerResolver
を作成しますfromTrustedIssuers
(CollectionSE<StringSE> trustedIssuers) 提供されたパラメーターを使用してJwtIssuerAuthenticationManagerResolver
を作成しますfromTrustedIssuers
(PredicateSE<StringSE> trustedIssuers) 提供されたパラメーターを使用してJwtIssuerAuthenticationManagerResolver
を作成しますresolve
(jakarta.servlet.http.HttpServletRequest request) リクエストのベアラートークンで見つかった `iss` クレームに基づいてAuthenticationManager
を返します
コンストラクターの詳細
JwtIssuerAuthenticationManagerResolver
@DeprecatedSE(since="6.2", forRemoval=true) public JwtIssuerAuthenticationManagerResolver(StringSE... trustedIssuers) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。提供されたパラメーターを使用してJwtIssuerAuthenticationManagerResolver
を作成します- パラメーター:
trustedIssuers
- 信頼できる発行者の配列
JwtIssuerAuthenticationManagerResolver
@DeprecatedSE(since="6.2", forRemoval=true) public JwtIssuerAuthenticationManagerResolver(CollectionSE<StringSE> trustedIssuers) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。提供されたパラメーターを使用してJwtIssuerAuthenticationManagerResolver
を作成します- パラメーター:
trustedIssuers
- 信頼できる発行者のコレクション
JwtIssuerAuthenticationManagerResolver
public JwtIssuerAuthenticationManagerResolver(AuthenticationManagerResolver<StringSE> issuerAuthenticationManagerResolver) 指定されたパラメーターを使用してJwtIssuerAuthenticationManagerResolver
を構築します。このコンストラクターで提供されるAuthenticationManagerResolver
は、発行者が信頼できることを確認する必要があることに注意してください。これは、許可された発行者のセットを介して実行する必要があります。これを実現する 1 つの方法は、キーが既知の発行者であるMap
SE を使用することです。Map<String, AuthenticationManager> authenticationManagers = new HashMap<>(); authenticationManagers.put("https://issuerOne.example.org", managerOne); authenticationManagers.put("https://issuerTwo.example.org", managerTwo); JwtAuthenticationManagerResolver resolver = new JwtAuthenticationManagerResolver (authenticationManagers::get);
Map
SE のキーは、許可された発行者です。- パラメーター:
issuerAuthenticationManagerResolver
- 発行者がAuthenticationManager
を解決するための戦略
メソッドの詳細
fromTrustedIssuers
提供されたパラメーターを使用してJwtIssuerAuthenticationManagerResolver
を作成します- パラメーター:
trustedIssuers
- 信頼できる発行者の配列- 導入:
- 6.2
fromTrustedIssuers
public static JwtIssuerAuthenticationManagerResolver fromTrustedIssuers(CollectionSE<StringSE> trustedIssuers) 提供されたパラメーターを使用してJwtIssuerAuthenticationManagerResolver
を作成します- パラメーター:
trustedIssuers
- 信頼できる発行者のコレクション- 導入:
- 6.2
fromTrustedIssuers
public static JwtIssuerAuthenticationManagerResolver fromTrustedIssuers(PredicateSE<StringSE> trustedIssuers) 提供されたパラメーターを使用してJwtIssuerAuthenticationManagerResolver
を作成します- パラメーター:
trustedIssuers
- 発行者を検証する述語- 導入:
- 6.2
resolve
リクエストのベアラートークンで見つかった `iss` クレームに基づいてAuthenticationManager
を返します- 次で指定:
- インターフェース
AuthenticationManagerResolver<jakarta.servlet.http.HttpServletRequest>
のresolve
- 戻り値:
- 使用する
AuthenticationManager
- 例外:
OAuth2AuthenticationException
- ベアラートークンの形式が正しくない場合、またはAuthenticationManager
を発行者から取得できない場合
fromTrustedIssuers(String...)
を使用