Keycloak未知身份验证机制

问题描述 投票:15回答:3

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

wildfly-8 errai keycloak
3个回答
6
投票

您需要安装和配置Wildfly适配器,以使您的Errai应用程序能够识别“ KEYCLOAK”身份验证方法。请参阅Keycloak documentation的7.2节。


6
投票

只是想在@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,则应该全部设置好。

0
投票
要添加到@ josh-cain的答案中,您可能还需要在domain.xml或standalone.xml中添加以下内容:

添加到<extensions></extensions>,然后添加:

<extension module="org.keycloak.keycloak-adapter-subsystem"/>

添加到<profile></profile>,然后添加:

<subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>

适配器安装cli脚本可能由于各种原因而失败,因此您可能需要手动添加这些条目。
© www.soinside.com 2019 - 2024. All rights reserved.