生成keycloak用户设置页面URL

时间:2015-03-07 09:39:07

标签: java-ee wildfly keycloak

我知道用户设置页面是:

https://DOMAIN:PORT/auth/realms/REALM/account/?referrer=APPLICATION

无论如何在没有硬编码服务器DOMAIN和其他参数的情况下在servlet上生成此URL(通过任何提供的API从keycloak.json或应用程序服务器获取这些参数)?

1 个答案:

答案 0 :(得分:2)

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

AdapterDeploymentContext deploymentContext = (AdapterDeploymentContext) getServletContext().getAttribute(AdapterDeploymentContext.class.getName());
KeycloakDeployment deployment = deploymentContext.resolveDeployment(null);

然后可以查询部署getAuthServerBaseUrl()& getRealm()。我在TomEE 1.7.1(也就是Tomcat 7和Keycloak的1.1.0-Final)中使用它我确信它也适用于Java-EE Wildfly。

为此,您需要提供这些工件:

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