Menu Close

12.5. OAuth 2.0 対応の認証フロー

API クライアントは、3scale で設定した OpenID Connect (OIDC) 発行者からアクセストークンを取得する必要があります。この場合、その OpenID プロバイダーのサポートする任意の OAuth 2.0 フローが使用されます。Red Hat Single Sign-On (RH-SSO) の場合には、以下のフローがサポートされます (RH-SSO クライアントで使用される用語をかっこ書きで指定します)。

  • 認可コード (標準フロー)
  • リソースオーナーパスワードクレデンシャル (直接アクセスグラントフロー)
  • インプリシット (インプリシットフロー)
  • クライアントクレデンシャル (サービスアカウントフロー)

3scale で OIDC による認証を有効にしたクライアントを作成した場合、RH SSO 側で Zync により作成される対応するクライアントでは、認可コードフローだけが有効になります。このフローは、ほとんどすべてのケースについて最もセキュアで適切なフローとして推奨されます。ただし、他のフローを有効にすることが可能です。

12.5.1. OAuth 2.0 対応の認証フローの仕組み

クライアントは、承認リクエストもしくはトークンリクエスト、またはその両方を使用してアクセストークンを取得します。これらのリクエストを受け取る URL は、OpenID プロバイダーの .well-known/openid-configuration エンドポイントを使用して把握することができます。それぞれ、"authorization_endpoint" および "token_endpoint" が該当します。たとえば、https://<RHSSO_HOST>:<RHSSO_PORT>/auth/realms/<REALM_NAME>/.well-known/openid-configuration