我需要在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/