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