2.3. サポート対象のその他の認証メカニズム


Quarkus Security はエクステンションを使用して次の認証メカニズムもサポートします。

2.3.1. OpenID Connect 認証

OpenID Connect (OIDC) は、OAuth 2.0 プロトコル上で動作するアイデンティティーレイヤーです。OIDC を使用すると、クライアントアプリケーションは、OIDC プロバイダーによって実行される認証に基づきユーザーのアイデンティティーを確認し、そのユーザーに関する基本情報を取得できます。

Quarkus の quarkus-oidc エクステンションは、ベアラートークンと認可コードフローの認証メカニズムをサポートする、リアクティブで相互運用可能なマルチテナント対応の OIDC アダプターを提供します。ベアラートークン認証メカニズムは、HTTP 認証ヘッダーからトークンを展開します。

認可コードフローメカニズムは、ユーザーを OIDC プロバイダーにリダイレクトして、ユーザーのアイデンティティーを認証します。ユーザーが Quarkus にリダイレクトされた後、メカニズムにより ID、アクセストークン、およびリフレッシュトークンに付与された提供コードを交換して認証プロセスを完了します。

更新可能な JSON Web Key (JWK) セットを使用して ID の検証と JSON Web Token (JWT) トークンへのアクセスを行うか、リモートでそれらをイントロスペクトできます。ただし、バイナリートークンとも呼ばれる不透明トークンは、リモートでのみイントロスペクトできます。

注記

Quarkus OIDC エクステンションを使用すると、ベアラートークンと認可コードフロー認証メカニズムは SmallRye JWT 認証 を使用して、JWT トークンを MicroProfile JWT org.eclipse.microprofile.jwt.JsonWebToken として表します。

2.3.1.1. OIDC 認証に使用する追加の Quarkus リソース

Quarkus アプリケーションの保護に使用できる OIDC 認証および認可方法の詳細は、次のリソースを参照してください。

OIDC トピックQuarkus 情報リソース

ベアラートークン認証メカニズム

OIDC ベアラートークン認証

認可コードフロー認証メカニズム

OpenID Connect (OIDC) 認可コードフローメカニズム

OIDC と SAML アイデンティティーブローカー

OpenID Connect (OIDC) 認可コードフローと SAML アイデンティティーブローカー

ベアラートークン認証または認可コードフローメカニズムをサポートできるマルチテナント

OpenID Connect (OIDC) マルチテナンシーの使用

一般的に使用される OpenID Connect プロバイダーを使用して Quarkus を保護する

よく知られている OpenID Connect プロバイダーの設定

Keycloak を使用して認証を一元化する

OpenID Connect (OIDC) と Keycloak を使用して認証を一元化する

注記

実行時に Quarkus OIDC エクステンションを有効にするには、ビルド時に quarkus.oidc.tenant-enabled=false を設定します。次に、システムプロパティーを使用して実行時に再度有効にします。

マルチテナント OIDC デプロイメントにおける個別のテナント設定の管理の詳細は、"OpenID Connect (OIDC) マルチテナントの使用" ガイドの テナント設定の無効化 セクションを参照してください。

2.3.1.2. OpenID Connect クライアントとフィルター

quarkus-oidc-client エクステンションは、次のトークングラントをサポートする OpenID Connect および OAuth2 プロバイダーからアクセストークンを取得し、更新するための OidcClient を提供します。

  • client-credentials
  • password
  • refresh_token

quarkus-oidc-client-filter エクステンションには quarkus-oidc-client エクステンションが必要です。これは、OidcClient によって取得されたアクセストークンを HTTP Authorization ヘッダーの Bearer スキーム値として設定する JAX-RS RESTful Web サービス OidcClientRequestFilter を提供します。このフィルターは、現在の Quarkus エンドポイントに注入された MicroProfile REST クライアント実装に登録できますが、このサービスエンドポイントの認証要件とは関係ありません。たとえば、パブリックエンドポイントにしたり、mTLS で保護したりできます。

重要

このシナリオでは、Quarkus OpenID Connect アダプターを使用して Quarkus エンドポイントを保護する必要はありません。

quarkus-oidc-token-propagation エクステンションには quarkus-oidc エクステンションが必要です。これは、OpenID Connect ベアラートークンまたは認可コードフローアクセストークンを HTTP Authorization ヘッダーの Bearer スキーム値として設定する Jakarta REST TokenCredentialRequestFilter を提供します。このフィルターは、現在の Quarkus エンドポイントに注入された MicroProfile REST クライアント実装に登録できます。これは、Quarkus OIDC アダプターを使用して保護する必要があります。このフィルターは、アクセストークンをダウンストリームサービスに伝播できます。

詳細は、OpenID Connect クライアントとトークンの伝播のクイックスタート と、OpenID Connect (OIDC) および OAuth2 クライアントとフィルターのリファレンス ガイドを参照してください。

2.3.2. SmallRye JWT 認証

quarkus-smallrye-jwt エクステンションは、MicroProfile JSON Web Token (JWT) 2.1 実装と、署名および暗号化された JWT トークンを検証するための複数のオプションを提供します。これらは org.eclipse.microprofile.jwt.JsonWebToken として表されます。

quarkus-smallrye-jwt は、quarkus-oidc ベアラートークン認証メカニズムの代替手段であり、Privacy Enhanced Mail (PEM) キーまたは更新可能な JWK キーセットのいずれかを使用して JWT トークンのみを検証します。quarkus-smallrye-jwt は JWT 生成 API も提供しており、これを使用することで signedinner-signedencryptedJWT トークンを簡単に作成できます。

詳細は、JWT Using JWT RBAC ガイドを参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.