Keycloak ${authAdminUrl}来自哪里?如何操作它?

Keycloak ${authAdminUrl}来自哪里?如何操作它?,keycloak,Keycloak,我正在尝试设置一个(Docked)KeyClope实例,但在成功登录后,它的“安全管理控制台”会不断将我重定向到一个内部URL,而不是我在dns中设置的URL。查看设置,其根URL设置为${authAdminUrl}。我可以用实际的URL覆盖这个值,但我更愿意更改变量的值。那么${authAdminUrl}从哪里来,更重要的是,我如何操作它呢?TLDR:environment variablekeydrope\u HOSTNAME 更微妙一点: 占位符${authAdminUrl}的值是一个完整

我正在尝试设置一个(Docked)KeyClope实例,但在成功登录后,它的“安全管理控制台”会不断将我重定向到一个内部URL,而不是我在dns中设置的URL。查看设置,其根URL设置为
${authAdminUrl}
。我可以用实际的URL覆盖这个值,但我更愿意更改变量的值。那么${authAdminUrl}从哪里来,更重要的是,我如何操作它呢?

TLDR:environment variable
keydrope\u HOSTNAME

更微妙一点:


占位符
${authAdminUrl}
的值是一个完整的URL,而环境变量
keydove\u HOSTNAME
只是主机名;因此,没有协议、端口号或路径。在我的例子中,这并不重要,因为我没有对它们做任何特殊的处理,所以使用自定义主机名形成的默认url对我来说是很好的。

实际上,整个管理基础url(包括方案和端口)可以在standalone.xml文件中配置,
部分
。 您可以在那里添加属性“adminUrl
这一点在报告中有简要介绍

例如:

<spi name="hostname">
  <default-provider>default</default-provider>
  <provider name="default" enabled="true">
    <properties>
        <property name="frontendUrl" value="${keycloak.frontendUrl:}"/>
        <property name="forceBackendUrlToFrontendUrl" value="false"/>
        <property name="adminUrl" value="https://myhost:10443/auth"/>
    </properties>
  </provider>
</spi>

违约

+1这可能是一个比我找到的更好的解决方案。不幸的是,它确实要求您构建自己的docker映像,以包含对
standalone.xml
文件的更改,这反过来或多或少需要您自己的docker映像托管解决方案等。这在当时是不可用的。