2.4. その他の OpenID Connect ライブラリー
Red Hat Single Sign-On は、通常、使用が簡単で、Red Hat Single Sign-On との統合を改善できるアダプターによって提供されます。ただし、プログラミング言語、フレームワーク、またはプラットフォームでアダプターが利用できない場合は、代わりに汎用 OpenID Connect Relying Party (RP) ライブラリーを使用することを選択できます。本章では、Red Hat Single Sign-On に固有の詳細を説明します。また、特定のプロトコルの詳細は含まれません。詳細は、「OpenID Connect 仕様」および「OAuth2 仕様」を参照してください。
2.4.1. エンドポイント
理解すべき最も重要なエンドポイントは、よく知られている 設定エンドポイントです。Red Hat Single Sign-On の OpenID Connect 実装に関連するエンドポイントおよびその他の設定オプションを一覧表示します。エンドポイントは次のとおりです。
/realms/{realm-name}/.well-known/openid-configuration
完全な URL を取得するには、Red Hat Single Sign-On のベース URL を追加し、{realm-name} をレルムの名前に置き換えます。以下に例を示します。
http://localhost:8080/auth/realms/master/.well-known/openid-configuration
一部の RP ライブラリーは、このエンドポイントから必要なすべてのエンドポイントを取得しますが、その他のライブラリーでは、エンドポイントを個別に一覧表示しないといけない場合があります。
2.4.1.1. 承認エンドポイント
/realms/{realm-name}/protocol/openid-connect/auth承認エンドポイントはエンドユーザーの認証を実行します。これは、ユーザーエージェントをこのエンドポイントにリダイレクトすることで行います。
詳細は、OpenID Connect 仕様の「認証エンドポイント」セクションを参照してください。
2.4.1.2. トークンエンドポイント
/realms/{realm-name}/protocol/openid-connect/tokenトークンエンドポイントは、トークンの取得に使用されます。トークンは、承認コードを調べるか、使用するフローに応じて認証情報を直接指定して取得できます。トークンエンドポイントは、有効期限が切れたときに新しいアクセストークンの取得にも使用されます。
詳細は、OpenID Connect 仕様の トークンエンドポイント セクションを参照してください。
2.4.1.3. userInfo エンドポイント
/realms/{realm-name}/protocol/openid-connect/userinfouserinfo エンドポイントは、認証されたユーザーについての標準要求を返し、ベアラートークンによって保護されます。
詳細は、OpenID Connect 仕様の userInfo エンドポイント セクションを参照してください。
2.4.1.4. ログアウトエンドポイント
/realms/{realm-name}/protocol/openid-connect/logoutログアウトエンドポイントは、認証されたユーザーをログアウトします。
ユーザーエージェントはエンドポイントにリダイレクトできます。この場合は、アクティブなユーザーセッションがログアウトされます。その後、ユーザーエージェントはアプリケーションにリダイレクトされます。
エンドポイントはアプリケーションによって直接呼び出すこともできます。このエンドポイントを直接呼び出すには、更新トークンとクライアントの認証に必要な認証情報を追加する必要があります。
2.4.1.5. 証明書エンドポイント
/realms/{realm-name}/protocol/openid-connect/certs証明書エンドポイントは、レルムが有効にした公開鍵を返し、JSON Web Key (JWK) としてエンコードされます。レルム設定によっては、トークンの検証に 1 つ以上のキーが有効になります。詳細は、『サーバー管理ガイド』および「JSON Web Key specification」を参照してください。
2.4.1.6. イントロスペクションエンドポイント
/realms/{realm-name}/protocol/openid-connect/token/introspectイントロスペクションエンドポイントは、トークンのアクティブな状態を取得するために使用されます。つまり、これを使用してアクセストークンを検証したり、更新したりできます。これは、機密クライアントでのみ呼び出すことができます。
このエンドポイントでの起動方法についての詳細は、「OAuth 2.0 Token Introspection specification」を参照してください。
2.4.1.7. 動的クライアント登録エンドポイント
/realms/{realm-name}/clients-registrations/openid-connect動的クライアント登録エンドポイントは、クライアントを動的に登録するのに使用されます。
詳細は、「クライアント登録」および「OpenID 接続動的クライアント登録仕様」の章を参照してください。
2.4.1.8. トークン失効エンドポイント
/realms/{realm-name}/protocol/openid-connect/revokeトークン失効エンドポイントは、トークンの取り消しに使用されます。このエンドポイントでは、更新トークンとアクセストークンの両方がサポートされます。
このエンドポイントで呼び出し方法の詳細は、「OAuth 2.0 Token Revocation specification」を参照してください。