jakarta-ee - Keycloak 和 JBoss:编辑配置文件 keycloak.json 的位置
问题描述
我正在使用 JBoss EAP 6.2、JavaEE 6.0 和 keycloak-eap6-adapter-dist 6.0.1 对 Keycloak 进行身份验证。
keycloak.json 目前打包在部署的战争档案中(在 WEB-INF 下),因此每个客户都不能互换。
您知道如何将 keycloak.json 的路径更改为外部路径,以使其在每个安装/阶段(例如使用 Docker)可互换吗?
解决方案:感谢 ravthiru,我们实现了一个自定义配置解析器,如下所示:
public class CustomKeycloakResolver implements KeycloakConfigResolver {
private KeycloakDeployment deployment;
@Override
public KeycloakDeployment resolve(OIDCHttpFacade.Request request) {
if (deployment != null) {
return deployment;
}
InputStream is;
try {
is = new FileInputStream(System.getenv("KEYCLOAK_CONFIG_FILE"));
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
deployment = KeycloakDeploymentBuilder.build(is);
return deployment;
}
}
并WEB-INF/web.xml
像这样注册它:
<context-param>
<param-name>keycloak.config.resolver</param-name>
<param-value>my.package.CustomKeycloakResolver</param-value>
</context-param>
现在,您可以直接在 Docker-Container 中使用环境变量指定路径。
解决方案
推荐阅读
- javascript - Firebase Auth 登录区别
- css - 向上箭头符号未在 IE 中呈现
- r - 排除基于 R 中多列的异常值?IQR 方法
- json - 如何快速解析动态 JSON
- security - 我如何仅通过登录 Gmail 来登录 youtube.com?
- javascript - 是否可以安装预缓存服务器数据的 PWA?
- web-scraping - 网页抓取 Yahoo Finance 推荐评级
- javascript - Javascript函数执行和嵌套函数调用
- doctrine-orm - Doctrine - 删除具有单向多对多关系的实体失败
- java - 如何更新所选 radioGroup/位置的每个 radioButton 的分数?