7.7. 背景 - サーバーエンドポイント
Red Hat build of Keycloak は、それぞれ目的が異なる複数のエンドポイントを公開します。これらは通常、アプリケーション間の通信やサーバーの管理に使用されます。3 つの主要なエンドポイントグループを認識しています。
- フロントエンド
- バックエンド
- 管理
これらのエンドポイントのいずれかを使用する場合は、ベース URL を設定する必要があります。ベース URL は複数の部分で構成されます。
- スキーム (例: https プロトコル)
- ホスト名 (例: example.keycloak.org)
- ポート (例: 8443)
- パス (例: /auth)
各グループのベース URL は、トークンの発行方法と検証方法、ユーザーを Red Hat build of Keycloak にリダイレクトする必要があるアクション (メールリンクを通じてパスワードをリセットする場合など) のリンクの作成方法、さらにはアプリケーションが realms/{realm-name}/.well-known/openid-configuration
から OpenID Connect Discovery Document を取得する際にこれらのエンドポイントを検出する方法に重要な影響を与えます。
7.7.1. フロントエンド
ユーザーとアプリケーションは、フロントエンド URL を使用して、フロントチャネル経由で Red Hat build of Keycloak にアクセスします。フロントチャネルは、公開されているアクセス可能な通信チャネルです。たとえば、ブラウザーベースのフロー (ログインページへのアクセス、パスワードをリセットするためのリンクのクリック、トークンのバインド) は、フロントチャネルリクエストと見なすことができます。
フロントエンド URL 経由で Red Hat build of Keycloak にアクセスできるようにするには、hostname
オプションを設定する必要があります。
bin/kc.[sh|bat] start --hostname my.keycloak.org
7.7.2. バックエンド
バックエンドエンドポイントは、パブリックドメインまたはプライベートネットワークを通じてアクセスできるエンドポイントです。これらは、Red Hat build of Keycloak とクライアント (Red Hat build of Keycloak によって保護されたアプリケーション) 間の直接的なバックエンド通信に関連しています。このような通信は、リバースプロキシーを回避してローカルネットワーク経由で行われる可能性があります。このグループに属するエンドポイントの例としては、認可エンドポイント、トークンおよびトークンイントロスペクションエンドポイント、ユーザー情報エンドポイント、JWKS URI エンドポイントなどがあります。
hostname-backchannel-dynamic
オプションのデフォルト値は false
です。これは、バックチャネル URL がフロントチャネル URL と同じであることを意味します。次のオプションを設定することで、受信リクエストヘッダーからのバックチャネル URL の動的な解決を有効にできます。
bin/kc.[sh|bat] start --hostname https://my.keycloak.org --hostname-backchannel-dynamic true
hostname
オプションは URL に設定する必要があることに注意してください。詳細は、以下の 「検証」 セクションを参照してください。
7.7.3. 管理
ベースフロントエンド URL と同様に、管理コンソールのリソースとエンドポイントのベース URL も設定できます。サーバーは、特定の URL を使用して管理コンソールと静的リソースを公開します。この URL は、リダイレクト URL、リソース (CSS、JS) のロード、管理 REST API などに使用されます。これは、hostname-admin
オプションを設定することで実行できます。
bin/kc.[sh|bat] start --hostname https://my.keycloak.org --hostname-admin https://admin.my.keycloak.org:8443
繰り返しますが、hostname
オプションは URL に設定する必要があります。詳細は、以下の 「検証」 セクションを参照してください。