Jakarta ee 生成KeyClope用户设置页面URL

Jakarta ee 生成KeyClope用户设置页面URL,jakarta-ee,wildfly,keycloak,Jakarta Ee,Wildfly,Keycloak,我知道用户设置页面是: 是否可以在servlet上生成此URL,而无需硬编码服务器域和其他参数(通过任何提供的API从keydove.json或application server获取这些参数)?这可以通过从ServletContext获取keydove AdapterDeploymentContext来实现: AdapterDeploymentContext deploymentContext = (AdapterDeploymentContext) getServletContext().

我知道用户设置页面是:


是否可以在servlet上生成此URL,而无需硬编码服务器域和其他参数(通过任何提供的API从keydove.json或application server获取这些参数)?

这可以通过从ServletContext获取keydove AdapterDeploymentContext来实现:

AdapterDeploymentContext deploymentContext = (AdapterDeploymentContext) getServletContext().getAttribute(AdapterDeploymentContext.class.getName());
KeycloakDeployment deployment = deploymentContext.resolveDeployment(null);
然后可以查询部署中的getAuthServerBaseUrl()和getRealm()。我在Tomee1.7.1(又名Tomcat7,带有1.1.0-Final的KeyClope)中得到了这一点,我相信它在JavaEEWildfly中也会起作用

为此,您需要maven提供以下工件:

    <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-adapter-core</artifactId>
        <version>1.1.0.Final</version>
        <scope>provided</scope>
    </dependency>

密钥斗篷
键斗篷适配器芯
1.1.0.1最终版本
假如