第2章 OpenID Connect を使用したアプリケーションとサービスのセキュア化


このセクションでは、Red Hat build of Keycloak を使用して OpenID Connect でアプリケーションとサービスを保護する方法について説明します。

2.1. 利用可能なエンドポイント

Red Hat build of Keycloak は、完全に準拠した OpenID Connect プロバイダーの実装として、アプリケーションとサービスがユーザーの認証と認可に使用できるエンドポイントのセットを公開します。

このセクションでは、アプリケーションとサービスが Red Hat build of Keycloak と対話する際に使用する必要がある、いくつかの主要なエンドポイントについて説明します。

2.1.1. エンドポイント

理解すべき最も重要なエンドポイントは、well-known 設定エンドポイントです。Red Hat build of Keycloak の OpenID Connect 実装に関連するエンドポイントおよびその他の設定オプションをリスト表示します。エンドポイントは次のとおりです。

/realms/{realm-name}/.well-known/openid-configuration

完全な URL を取得するには、Red Hat build of Keycloak のベース URL を追加し、{realm-name} をレルムの名前に置き換えます。以下に例を示します。

http://localhost:8080/realms/master/.well-known/openid-configuration

一部の RP ライブラリーは、このエンドポイントから必要なすべてのエンドポイントを取得しますが、その他のライブラリーでは、エンドポイントを個別にリスト表示しないといけない場合があります。

2.1.1.1. 認可エンドポイント

/realms/{realm-name}/protocol/openid-connect/auth

認可エンドポイントはエンドユーザーの認証を実行します。この認証は、ユーザーエージェントをこのエンドポイントにリダイレクトすることによって行われます。

詳細は、OpenID Connect 仕様の 認可エンドポイント セクションを参照してください。

2.1.1.2. トークンエンドポイント

/realms/{realm-name}/protocol/openid-connect/token

トークンエンドポイントは、トークンの取得に使用されます。トークンは、認可コードを調べるか、使用するフローに応じて認証情報を直接指定して取得できます。トークンエンドポイントは、有効期限が切れたときに新しいアクセストークンの取得にも使用されます。

詳細は、OpenID Connect 仕様の トークンエンドポイント セクションを参照してください。

2.1.1.3. userInfo エンドポイント

/realms/{realm-name}/protocol/openid-connect/userinfo

userinfo エンドポイントは、認証されたユーザーについての標準要求を返します。このエンドポイントは、ベアラートークンによって保護されます。

詳細は、OpenID Connect 仕様の userInfo エンドポイント セクションを参照してください。

2.1.1.4. ログアウトエンドポイント

/realms/{realm-name}/protocol/openid-connect/logout

ログアウトエンドポイントは、認証されたユーザーをログアウトします。

ユーザーエージェントはエンドポイントにリダイレクトされる可能性があり、これによりアクティブなユーザーセッションがログアウトされます。その後、ユーザーエージェントはアプリケーションにリダイレクトされます。

エンドポイントはアプリケーションによって直接呼び出すこともできます。このエンドポイントを直接呼び出すには、更新トークンと、クライアントの認証に必要な認証情報を追加する必要があります。

2.1.1.5. 証明書エンドポイント

/realms/{realm-name}/protocol/openid-connect/certs

証明書エンドポイントは、レルムが有効にした公開鍵を返し、JSON Web Key (JWK) としてエンコードされます。レルム設定に応じて、トークンを検証するために 1 つ以上のキーを有効にできます。詳細は、サーバー管理ガイド および JSON Web キーの仕様 を参照してください。

2.1.1.6. イントロスペクションエンドポイント

/realms/{realm-name}/protocol/openid-connect/token/introspect

イントロスペクションエンドポイントは、トークンのアクティブな状態を取得するために使用されます。つまり、これを使用してアクセストークンを検証したり、更新したりできます。このエンドポイントは、機密クライアントによってのみ呼び出せます。

このエンドポイントで呼び出す方法の詳細については、OAuth 2.0 Token Introspection specification を参照してください。

2.1.1.7. 動的クライアント登録エンドポイント

/realms/{realm-name}/clients-registrations/openid-connect

動的クライアント登録エンドポイントは、クライアントを動的に登録するのに使用されます。

詳細は、クライアント登録 および OpenID 接続動的クライアント登録仕様 を参照してください。

2.1.1.8. トークン失効エンドポイント

/realms/{realm-name}/protocol/openid-connect/revoke

トークン失効エンドポイントは、トークンの取り消しに使用されます。このエンドポイントでは、更新トークンとアクセストークンの両方がサポートされます。更新トークンを取り消すと、対応するクライアントに対するユーザーの同意も取り消されます。

このエンドポイントで呼び出す方法の詳細については、OAuth 2.0 Token Revocation specification を参照してください。

2.1.1.9. デバイス認可エンドポイント

/realms/{realm-name}/protocol/openid-connect/auth/device

デバイス認可エンドポイントは、デバイスコードとユーザーコードを取得するために使用されます。これは、機密またはパブリッククライアントで呼び出すことができます。

このエンドポイントで呼び出す方法の詳細については、OAuth 2.0 Device Authorization Grant specification を参照してください。

2.1.1.10. backchannel 認証エンドポイント

/realms/{realm-name}/protocol/openid-connect/ext/ciba/auth

backchannel 認証エンドポイントは、クライアントによる認証要求を識別する auth_req_id を取得するために使用されます。これは、機密クライアントでのみ呼び出すことができます。

このエンドポイントで呼び出す方法の詳細は、OpenID Connect Client Initiated Backchannel Authentication Flow specification を参照してください。

このガイドの backchannel 認証エンドポイント およびサーバー管理ガイドの クライアントが開始したバックチャンネル認証の許可 セクションなど、Red Hat build of Keycloak ドキュメントの別のパートも参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.