クラス ClientRegistrations
java.lang.ObjectSE
org.springframework.security.oauth2.client.registration.ClientRegistrations
- 導入:
- 5.1
メソッドのサマリー
修飾子と型メソッド説明static ClientRegistration.Builder
fromIssuerLocation
(StringSE issuer) 初期化に成功した最初のレスポンスの値を使用して、3 つの異なるディスカバリエンドポイントに順次クエリを実行することにより、提供された発行者を使用してClientRegistration.Builder
を作成します。static ClientRegistration.Builder
fromOidcConfiguration
(MapSE<StringSE, ObjectSE> configuration) OpenID プロバイダーの構成レスポンスの提供されたマップ表現を使用してClientRegistration.Builder
を作成し、ClientRegistration.Builder
を初期化します。static ClientRegistration.Builder
fromOidcIssuerLocation
(StringSE issuer) OpenID プロバイダー構成リクエストを作成し、OpenID プロバイダーの構成レスポンスの値を使用してClientRegistration.Builder
を初期化することにより、提供された発行者を使用してClientRegistration.Builder
を作成します。
メソッドの詳細
fromOidcConfiguration
public static ClientRegistration.Builder fromOidcConfiguration(MapSE<StringSE, ObjectSE> configuration) OpenID プロバイダーの構成レスポンスの提供されたマップ表現を使用してClientRegistration.Builder
を作成し、ClientRegistration.Builder
を初期化します。これは、OpenID プロバイダー構成が既知の場所で利用できない場合に、または発行者の場所に対してカスタム検証が必要な場合 (たとえば、発行者が構成内の発行者値とは異なるバックチャネル URI からのみアクセス可能である場合) に役立ちます。
使用例:
RequestEntity<Void> request = RequestEntity.get(metadataEndpoint).build(); ParameterizedTypeReference<Map<String, Object>> typeReference = new ParameterizedTypeReference<>() {}; Map<String, Object> configuration = rest.exchange(request, typeReference).getBody(); // Validate configuration.get("issuer") as per in the OIDC specification ClientRegistration registration = ClientRegistrations.fromOidcConfiguration(configuration) .clientId("client-id") .clientSecret("client-secret") .build();
- パラメーター:
the
- OpenID プロバイダー構成マップ- 戻り値:
- 構成から構築された
ClientRegistration
fromOidcIssuerLocation
OpenID プロバイダー構成リクエストを作成し、OpenID プロバイダーの構成レスポンスの値を使用してClientRegistration.Builder
を初期化することにより、提供された発行者を使用してClientRegistration.Builder
を作成します。例: 提供された発行者が "https://example.com" の場合、「OpenID プロバイダー構成リクエスト」が "https://example.com/.well-known/openid-configuration" に対して行われます。結果は「OpenID プロバイダー構成レスポンス」であると予想されます。
使用例:
ClientRegistration registration = ClientRegistrations.fromOidcIssuerLocation("https://example.com") .clientId("client-id") .clientSecret("client-secret") .build();
- パラメーター:
issuer
- 発行者- 戻り値:
- OpenID プロバイダー構成によって初期化された
ClientRegistration.Builder
fromIssuerLocation
初期化に成功した最初のレスポンスの値を使用して、3 つの異なるディスカバリエンドポイントに順次クエリを実行することにより、提供された発行者を使用してClientRegistration.Builder
を作成します。エンドポイントが 200 または 4xx 以外のものを返す場合、メソッドは後続のエンドポイントを試行せずに終了します。issuer
がhost
とpath
で構成されている場合、3 つのエンドポイントは次のように計算されます。- RFC 8414 の互換性ノートで定義されている
host/.well-known/openid-configuration/path
。 - OpenID プロバイダーの構成で定義されている
issuer/.well-known/openid-configuration
。 - 認可サーバーのメタデータリクエストで定義されている
host/.well-known/oauth-authorization-server/path
。
fromOidcIssuerLocation(String)
を呼び出すことと同じであることに注意してください。使用例:
ClientRegistration registration = ClientRegistrations.fromIssuerLocation("https://example.com") .clientId("client-id") .clientSecret("client-secret") .build();
- パラメーター:
issuer
-- 戻り値:
- 説明されているエンドポイントの 1 つによって初期化された
ClientRegistration.Builder
- RFC 8414 の互換性ノートで定義されている