検索

第3章 Web アプリケーションを保護するための OpenID Connect 認可コードフローメカニズム

download PDF

Web アプリケーションを保護するには、Quarkus OIDC エクステンションによって提供される業界標準の OpenID Connect (OIDC) 認可コードフローメカニズムを使用できます。

3.1. OIDC 認可コードフローメカニズムの概要

Quarkus OpenID Connect (OIDC) エクステンションは、Keycloak などの OIDC 準拠の認可サーバーによってサポートされている OIDC 認可コードフローメカニズムを使用して、アプリケーションの HTTP エンドポイントを保護できます。

認可コードフローメカニズムは、Web アプリケーションのユーザーを Keycloak などの OIDC プロバイダーにリダイレクトしてログインさせることで、ユーザーを認証します。認証後、OIDC プロバイダーは、認証が成功したことを確認する認可コードを使用してユーザーをアプリケーションにリダイレクトします。次に、アプリケーションは、このコードを OIDC プロバイダーと交換して、ID トークン (認証されたユーザーを表す)、アクセストークン、および更新トークンを取得し、ユーザーのアプリケーションへのアクセスを認可します。

次の図は、Quarkus の認可コードフローのメカニズムの概要を示しています。

図3.1 Quarkus の認可コードフローメカニズム

認可コードフロー
  1. Quarkus ユーザーは、Quarkus web-app アプリケーションへのアクセスを要求します。
  2. Quarkus web-app は、ユーザーを認可エンドポイント、つまり認証用の OIDC プロバイダーにリダイレクトします。
  3. OIDC プロバイダーは、ユーザーをログインおよび認証プロンプトにリダイレクトします。
  4. ユーザーは、プロンプトが表示されたらユーザー認証情報を入力します。
  5. OIDC プロバイダーは、入力されたユーザー認証情報を認証し、成功した場合は認可コードを発行して、クエリーパラメーターとして含まれたコードを使用してユーザーを Quarkus web-app にリダイレクトします。
  6. Quarkus web-app は、この認可コードを OIDC プロバイダーと交換して、ID、アクセストークン、および更新トークンを取得します。

認可コードフローが完了し、Quarkus web-app は発行されたトークンを使用してユーザーに関する情報にアクセスし、そのユーザーに関連するロールベースの認可を付与します。以下のトークンが発行されます。

  • ID トークン: Quarkus web-app アプリケーションは、ID トークン内のユーザー情報を使用することで、認証されたユーザーが安全にログインし、Web アプリケーションへのロールベースのアクセスを提供できるようにします。
  • アクセストークン: Quarkus web-app は、アクセストークンを使用して UserInfo API にアクセスし、認証されたユーザーに関する追加情報を取得したり、それを別のエンドポイントに伝播したりする可能性があります。
  • 更新トークン: (オプション) ID とアクセストークンの有効期限が切れた場合、Quarkus web-app は更新トークンを使用して、新しい ID とアクセストークンを取得できます。

Quarkus ガイド OIDC 設定プロパティー も参照してください。

OIDC 認可コードフローメカニズムを使用して Web アプリケーションを保護する方法の詳細は、OIDC 認可コードフローを使用した Web アプリケーションの保護 を参照してください。

OIDC ベアラートークン認証を使用してサービスアプリケーションを保護する場合は、OIDC ベアラートークン認証 を参照してください。

複数のテナントをサポートする方法の詳細は、OpenID Connect マルチテナンシーの使用 を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.