7.7. 背景:サーバーエンドポイント
Red Hat build of Keycloak は、それぞれ目的が異なる複数のエンドポイントを公開します。これらは通常、アプリケーション間の通信やサーバーの管理に使用されます。3 つの主なエンドポイントグループを認識します。
- フロントエンド
- バックエンド
- 管理
これらのエンドポイントのいずれかと連携する場合は、ベース URL を設定する必要があります。ベース URL はいくつかの部分で設定されています。
- スキーム(例:https プロトコル)
- ホスト名(例: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 ビルドの Keycloak にアクセスできるようにするには、hostname
オプションを設定する必要があります。
bin/kc.[sh|bat] start --hostname my.keycloak.org
7.7.2. バックエンド
バックエンドエンドポイントは、パブリックドメインまたはプライベートネットワークを通じてアクセスできるエンドポイントです。これらは、Red Hat build of Keycloak とクライアント間の直接バックエンド通信に関連します(Red Hat build of Keycloak でセキュア化されたアプリケーション)。このような通信は、リバースプロキシーを回避するために、ローカルネットワーク経由で行われる場合があります。このグループに属するエンドポイントの例として、認可エンドポイント、トークンおよびトークンイントロスペクションエンドポイント、userinfo エンドポイント、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 に設定する必要があります。詳細は、以下の 「検証」 セクションを参照してください。