我需要在Errai应用程序中使用keycloak的帮助。我收到有关“ KEYCLOAK”的“未知身份验证方法”的错误?我正在运行keycloak-appliance(尽管在另一个端口上),并且Errai应用在WEB-INF的web.xml文件中具有一个带有KEYCLOAK的当我使用mvn gwt:run运行Errai应用程序时,出现:RuntimeException由“未知身份验证机制KEYCLOAK”引起。我不知道该如何解决这个问题。
您需要安装和配置Wildfly适配器,以使您的Errai应用程序能够识别“ KEYCLOAK”身份验证方法。请参阅Keycloak documentation的7.2节。
只是想在@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服务器相同[
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
,则应该全部设置好。
添加到<extensions></extensions>
,然后添加:
<extension module="org.keycloak.keycloak-adapter-subsystem"/>
添加到<profile></profile>
,然后添加:
<subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
适配器安装cli脚本可能由于各种原因而失败,因此您可能需要手动添加这些条目。