4

ユーザー設定ページは次のとおりです。

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

サーバー DOMAIN とその他のパラメーターをハードコーディングせずにサーブレットでこの URL を生成する方法はありますか (提供された API によって keycloak.json またはアプリケーション サーバーからこれらのパラメーターを取得します)。

4

1 に答える 1

2

これは、ServletContext から Keycloak AdapterDeploymentContext を取得することで実現できます。

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

その後、デプロイメントに対して getAuthServerBaseUrl() および getRealm() を照会できます。私はこれを TomEE 1.7.1 (別名、Keycloak の 1.1.0-Final を備えた Tomcat 7) で動作させました。Java-EE Wildfly でも動作すると確信しています。

このためには、これらのアーティファクトを maven で提供する必要があります。

    <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-adapter-core</artifactId>
        <version>1.1.0.Final</version>
        <scope>provided</scope>
    </dependency>
于 2015-04-22T13:21:30.240 に答える