jboss - 在 WildFly 的 keycloak 子系统中参数化安全部署名称
问题描述
我正在寻找一种方法来参数化 KeyCloak 子系统(WildFly 适配器属性)以允许安全部署名称属性的外部输入。
除了 WAR 名称之外,我正在将应用程序部署到具有完全相同配置的多个环境中,因此我希望将所有内容都配置为输入参数,无论是来自standalone.xml 的系统属性还是环境变量。但是,我无法使用上述子系统实现结果。我已经尝试过设置系统属性、环境变量。以下是子系统的当前配置示例,其中
some_war_name.war
被硬编码
<secure-deployment name="some_war_name.war">
<realm>${keycloak.realm}</realm>
<resource>${keycloak.client.id}</resource>
<auth-server-url>${keycloak.server.url}</auth-server-url>
<ssl-required>external</ssl-required>
<credential name="secret">${keycloak.credential.secret}</credential>
</secure-
不幸的是,我无法以任何方式参数化安全部署名称。它甚至可以实现吗?
解决方案
参数化安全部署名称不适用于子系统。
您可以通过在 WAR 目录中
创建keycloak.json
适配器配置文件来解决此问题,如文档中所述: https ://www.keycloak.org/docs/latest/securing_apps/#required-per-war-configurationWEB-INF
例如:
{
"realm": "${env.keycloak.realm}",
"auth-server-url": "${env.keycloak.auth-server-url}",
"ssl-required": "${env.keycloak.ssl-required}",
"resource": "${env.keycloak.resource}",
}
推荐阅读
- javascript - 使用nodejs捕获html页面中的错误消息
- python - 时间数据不匹配格式指定错误
- c++ - c++中使用pthread的生产者-消费者问题
- function - Vuetify v2.3.14 v-calendar getVisibleEvents 函数返回空数组
- apiblueprint - 来自外部文件的 MSON 数据结构
- javascript - Javascript 函数返回 False 但应该返回 True
- coldfusion - 所有 IIS 站点都已由其他版本的 ColdFusion 配置
- swift - NSPredicate 在 Swift Playground 中不起作用(信号 SIGABRT)
- android - 尝试从另一个片段中的片段调用函数时出现 NullPointerException
- javascript - 带有 Node.js 的 ASP.NET Core 2.2 应用程序在 VS 更新后中断