我需要在Errai应用程序中使用keycloak的帮助。我收到有关“ KEYCLOAK”的“未知身份验证方法”的错误?我正在运行keycloak-appliance(尽管在另一个端口上),并且Errai应用在WEB-INF内的web.xml文件中具有一个带有KEYCLOAK的
当我使用mvn gwt:run运行Errai应用程序时,出现:RuntimeException由“未知身份验证机制KEYCLOAK”引起。我不知道该如何解决这个问题。

最佳答案

只是想为@cfsnyder的答案添加更多细节。为了使您的应用服务器能够识别web.xml中的定义,如下所示:

<login-config>
    <auth-method>KEYCLOAK</auth-method>
    <realm-name>internal</realm-name>
</login-config>


您需要(在这种情况下)告诉jboss如何解释该特定的auth方法。在我回答时,它在section 8.2 of the Keycloak docs中。

首先,download the keycloak adapter(请记住,这与Keycloak服务器不同)。接下来,将下载文件解压缩到wildfly主目录中。在您的应用程序服务器运行时,只需使用以下命令将Keycloak配置安装到适当的文件中:

jboss-cli.sh -c --file=adapter-install.cli


该脚本完成后,将在配置文件中添加新条目,以容纳web.xml中的KEYCLOAK条目。该脚本将在domain.xml或standalone.xml中添加以下内容:

            <security-domain name="keycloak">
                <authentication>
                    <login-module code="org.keycloak.adapters.jboss.KeycloakLoginModule" flag="required"/>
                </authentication>
            </security-domain>


一旦有了适配器+安全域配置提供的Keycloak模块文件以将KEYCLOAK方法链接到适当的LoginModule,就应该一切就绪。

关于wildfly-8 - Keycloak未知身份验证机制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27253559/

10-15 22:34