我是 keycloak 的新手,我在前端和后端应用程序中都使用 keycloak,但是在 jwt.io 中解码时,我在 keycloak 生成的令牌中得到了不同的颁发者。
前端:
- issuer 与前端应用程序的基本 URL 相同
- 例如:
如果前端 URL 是https://example.org/portal则颁发者与https://example.org/auth相同
通过邮递员请求:
- issuer 是内部 DNS 名称
我尝试了以下方法,
- 代理重定向(使用保留主机) - 使用前端基本 URL 生成发行者。
- 不保留主机的代理重定向 - 期望在前端应用程序解析私有 DNS
- 围绕 keycloak 配置进行游戏 - 将 frontendUrl 更新为https://example.org/auth并将 forceBackendUrlToFrontendUrl 更新为 true ,这导致后端和前端的发行者相同,但没有像 https:/auth/relam/external 这样的主机名(请参阅 #2 in参考)。
预期结果:
- 我需要私有 DNS 作为来自前端和后端的请求的发布者(现在它可以直接后端请求)
提前致谢。
参考
<spi name="hostname">
<default-provider>fixed</default-provider>
<provider name="fixed" enabled="true">
<properties>
<property name="frontendUrl" value="https://example.org/auth"/>
<property name="forceBackendUrlToFrontendUrl" value="true"/>
</properties>
</provider>
</spi>