クラス JwtIssuerReactiveAuthenticationManagerResolver
- java.lang.Object
-
- org.springframework.security.oauth2.server.resource.authentication.JwtIssuerReactiveAuthenticationManagerResolver
- 実装されたすべてのインターフェース:
ReactiveAuthenticationManagerResolver<org.springframework.web.server.ServerWebExchange>
public final class JwtIssuerReactiveAuthenticationManagerResolver extends java.lang.Object implements ReactiveAuthenticationManagerResolver<org.springframework.web.server.ServerWebExchange>
署名された JWT(JWS)の発行者に基づいて JWT ベースのReactiveAuthenticationManager
を解決するReactiveAuthenticationManagerResolver
の実装。使用するには、このクラスは `iss` クレームが信頼できるかどうかを判別できる必要があります。誰でも認証サーバーを立ち上げて、リソースサーバーに有効なトークンを発行できることを思い出してください。これを実現する最も簡単な方法は、コンストラクターで信頼できる発行者のリストを提供することです。このクラスは、ServerWebExchange
のベアラートークンにある `iss` クレームから発行者を派生させます。- 導入:
- 5.3
コンストラクターのサマリー
コンストラクター コンストラクター 説明 JwtIssuerReactiveAuthenticationManagerResolver(java.lang.String... trustedIssuers)
提供されたパラメーターを使用してJwtIssuerReactiveAuthenticationManagerResolver
を作成しますJwtIssuerReactiveAuthenticationManagerResolver(java.util.Collection<java.lang.String> trustedIssuers)
提供されたパラメーターを使用してJwtIssuerReactiveAuthenticationManagerResolver
を作成しますJwtIssuerReactiveAuthenticationManagerResolver(ReactiveAuthenticationManagerResolver<java.lang.String> issuerAuthenticationManagerResolver)
提供されたパラメーターを使用してJwtIssuerReactiveAuthenticationManagerResolver
を作成するこのコンストラクターで提供されたReactiveAuthenticationManagerResolver
は、発行者が信頼できることを確認する必要があることに注意してください。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 reactor.core.publisher.Mono<ReactiveAuthenticationManager>
resolve(org.springframework.web.server.ServerWebExchange exchange)
リクエストのベアラートークンで見つかった `iss` クレームに基づいてAuthenticationManager
を返します
コンストラクターの詳細
JwtIssuerReactiveAuthenticationManagerResolver
public JwtIssuerReactiveAuthenticationManagerResolver(java.lang.String... trustedIssuers)
提供されたパラメーターを使用してJwtIssuerReactiveAuthenticationManagerResolver
を作成します- パラメーター:
trustedIssuers
- 信頼できる発行者のリスト
JwtIssuerReactiveAuthenticationManagerResolver
public JwtIssuerReactiveAuthenticationManagerResolver(java.util.Collection<java.lang.String> trustedIssuers)
提供されたパラメーターを使用してJwtIssuerReactiveAuthenticationManagerResolver
を作成します- パラメーター:
trustedIssuers
- 信頼できる発行者のコレクション
JwtIssuerReactiveAuthenticationManagerResolver
public JwtIssuerReactiveAuthenticationManagerResolver(ReactiveAuthenticationManagerResolver<java.lang.String> issuerAuthenticationManagerResolver)
提供されたパラメーターを使用してJwtIssuerReactiveAuthenticationManagerResolver
を構築するこのコンストラクターで提供されたReactiveAuthenticationManagerResolver
は、発行者が信頼されていることを確認する必要があることに注意してください。これは、発行者の許可されたリストを介して実行する必要があります。これを実現する 1 つの方法は、キーが既知の発行者であるMap
を使用することです。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));
Map
のキーは、信頼できる発行者です。- パラメーター:
issuerAuthenticationManagerResolver
- 発行者がReactiveAuthenticationManager
を解決するための戦略
メソッドの詳細
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
を発行者から取得できない場合