Jakarta ee keydeport和JBoss:编辑配置文件keydeport.json的位置

Jakarta ee keydeport和JBoss:编辑配置文件keydeport.json的位置,jakarta-ee,jboss,keycloak,Jakarta Ee,Jboss,Keycloak,我正在使用JBoss EAP 6.2、JavaEE 6.0和keydepot-eap6-adapter-dist 6.0.1对keydepate进行身份验证 json当前打包在已部署的war归档文件中(在WEB-INF下),因此不能为每个客户互换 您知道如何将keydeport.json的路径更改为外部路径,以使其在每个安装/阶段都可以互换(例如,使用Docker) 解决方案:多亏了ravthiru,我们实现了如下自定义配置解析器: public class CustomKeycloakRes

我正在使用JBoss EAP 6.2、JavaEE 6.0和keydepot-eap6-adapter-dist 6.0.1对keydepate进行身份验证

json当前打包在已部署的war归档文件中(在WEB-INF下),因此不能为每个客户互换

您知道如何将keydeport.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;
    }
}

<context-param>
    <param-name>keycloak.config.resolver</param-name>
    <param-value>my.package.CustomKeycloakResolver</param-value>
</context-param>
并在
WEB-INF/WEB.xml
中注册如下:

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;
    }
}

<context-param>
    <param-name>keycloak.config.resolver</param-name>
    <param-value>my.package.CustomKeycloakResolver</param-value>
</context-param>

keydape.config.resolver
my.package.customKeyClope解析程序

现在,您可以使用Docker容器中的环境变量直接指定路径。

一个选项是在
web.xml
您可以在KeyClope和示例实现中找到有关此配置的更多信息