7.7. 背景 - 服务器端点
红帽构建的 Keycloak 会公开多个端点,每个端点都有不同的目的。它们通常用于应用之间的通信或管理服务器。我们识别 3 个主要端点组:
- frontend
- 后端
- 管理
如果要使用这些端点,则需要设置基本 URL。基本 URL 由几个部分组成:
- 一个方案(如 https 协议)
- 主机名(如 example.keycloak.org)
- 端口(如 8443)
- 一个路径(如 /auth)
每个组的基本 URL 对签发和验证令牌有重要影响,关于如何为需要用户重定向到红帽构建的 Keycloak (例如,通过电子邮件链接重置密码时,在获取 OpenID Connect Discovery Document .well -name}/.well-known/openid-configuration
时,如何发现这些端点)。
7.7.1. frontend
用户和应用程序使用前端 URL 通过前端频道访问 Keycloak 的红帽构建。前端频道是一个公开访问的通信频道。例如,基于浏览器的流(访问登录页面,单击链接以重置密码或绑定令牌)可被视为前端请求。
为了让红帽构建 Keycloak 可通过前端 URL 访问,您需要设置 hostname
选项:
bin/kc.[sh|bat] start --hostname my.keycloak.org
7.7.2. 后端
后端端点可以通过公共域或通过专用网络访问。它们与红帽构建的 Keycloak 和客户端之间的后端通信直接通信(由红帽构建的 Keycloak 保护的应用程序)。此类通信可能在本地网络中,避免反向代理。属于此组的端点示例包括授权端点、令牌和令牌内省端点、userinfo 端点、JWKS URI 端点等。
hostname-backchannel-dynamic
选项的默认值为 false
,这意味着回溯通道 URL 与 frontchannel URL 相同。可以通过设置以下选项来启用来自传入请求标头的后端通道 URL 的动态解析:
bin/kc.[sh|bat] start --hostname https://my.keycloak.org --hostname-backchannel-dynamic true
请注意,hostname
选项必须设置为 URL。如需更多信息,请参阅下面的 第 7.9 节 “验证” 部分。
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。如需更多信息,请参阅下面的 第 7.9 节 “验证” 部分。