13.7. OpenID Connect アイデンティティープロバイダーとの 3scale API Management インテグレーションの例


この例では、3scale を Red Hat の single sign-on テクノロジーまたは Red Hat build of Keycloak と OpenID Connect アイデンティティープロバイダーとして統合する場合のフローを示します。この例には、以下の特徴があります。

  • 管理ポータルで、API プロバイダーが 3scale API プロダクトを定義し、そのプロダクトが OpenID Connect ID プロバイダーとして single sign-on を使用するように設定されています。
  • このプロダクトの OpenID Connect 設定には以下が含まれます。

    • 公開ベース URL: https://api.example.com
    • プライベートベース URL: https://internal-api.example.com
    • OpenID Connect 発行者: https://zync:41dbb98b-e4e9-4a89-84a3-91d1d19c4207@idp.example.com/auth/realms/myrealm
    • 標準フローである 認可コードフロー を選択します。
  • 3scale 開発者ポータルには、以下の特徴を持つアプリケーションがあります。このアプリケーションは、開発者ポータルの特定のアプリケーションプランで指定されている 3scale API プロダクトにアクセスできるように、API コンシューマーがサブスクライブした結果、作成されたものです。

    • クライアント ID: myclientid
    • Client Secret: myclientsecret
    • URL のリダイレクト: https://myapp.example.com
  • single sign-on の myrealm レルムに、以下の特性を持つクライアントがあります。

    • クライアント ID: myclientid
    • Client Secret: myclientsecret
    • URL のリダイレクト: https://myapp.example.com
  • myrealm レルムには、以下のユーザーが含まれます。

    • ユーザー名: myuser
    • パスワード: mypassword
  • myrealm の 3scale Zync クライアントが正しい サービスアカウント ロールを持ちます。

フローは以下のようになります。

  1. エンドユーザー (API コンシューマー) は、以下の例のエンドポイントで認証サーバーの single sign-on に認可要求を送信します。

    https://idp.example.com/auth/realms/myrealm/protocol/openid-connect/auth

    この要求では、アプリケーションは以下のパラメーターを提供します。

    • クライアント ID: myclientid
    • リダイレクト URL: https://myapp.example.com
  2. アプリケーションはエンドユーザーを single sign-on のログイン画面にリダイレクトします。
  3. エンドユーザーは、次の認証情報を使用して single sign-on にログインします。

    • ユーザー名: myuser
    • パスワード: mypassword
  4. 設定およびエンドユーザーがこのアプリケーションで初めて認証されるかどうかに応じて、同意に関するウィンドウが表示されます。
  5. Single Sign-On は、エンドユーザーに認可コードを発行します。
  6. API コンシューマーアプリケーションは、次のエンドポイントを使用して、JWT の認可コードを交換する要求を送信します。

    https://idp.example.com/auth/realms/myrealm/protocol/openid-connect/token

    要求には、認可コードとこれらのパラメーターが含まれます。

    • クライアント ID: myclientid
    • クライアントシークレット: myclientsecret
    • リダイレクト URL: https://myapp.example.com
  7. Single Sign-On は、eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lk…xBArNhqF-A などの access_token フィールドを持つ JSON Web Token (JWT) を返します。
  8. API コンシューマーアプリケーションは、以下のようなヘッダーを使用して API 要求を https://api.example.com に送信します。

    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lk…xBArNhqF-A.
  9. アプリケーションは、https://internal-api.example.com から正常なレスポンスを受け取るはずです。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る