Keycloak-Tomcat-Adapter:是否有 'keycloak.json' 的替代路径?

Keycloak-Tomcat-Adapter: Is there a alternative path for 'keycloak.json'?

我尝试使用 keycloak 保护我的 Java Servlet 应用程序。一切正常,但我不喜欢我的 'keycloak.json' 文件位于我的版本中。原因是,如果 keycloak 定义在我的 war 中,那么我需要不同的安装不同的构建过程或不同安装上的相同客户端凭据。

我现在的想法是将 'keycloak.json' 放在我的 WEB-INF 之外。这可能吗?也欢迎解决此问题的其他想法。

如果您检查 KeycloakOIDCFilter,您会看到还有三个附加参数。

  • keycloak.config.resolver
  • keycloak.config.file
  • keycloak.config.path

我们正在使用文件参数并且工作起来很有魅力。

不需要上面提到的Servlet-Filter。

设置上下文参数就足够了,就像@OkieOth 在他的评论中所说的那样。

例如像这样设置参数

<Parameter name="keycloak.config.file" value="MY-PATH/keycloak.json" override="false"/>

在您的上下文中(在 for keycloak 配置的 Valve 旁边)或 Web 应用程序部署描述符中的 "context-param" (/WEB-INF/web.xml):

<context-param>
    <param-name>keycloak.config.file</param-name>
    <param-value>MY-PATH/keycloak.json</param-value>
</context-param>

有关上下文参数的更多详细信息,请参阅 "Context Parameters" 部分中的 The Context Container