当我尝试部署keycloak-quickstart app-profile-jee-vanilla项目时,我遇到了一条错误消息。某些网络搜索没有提供解决方案,所以我想在这里问。
这是我遵循的步骤。涉及三个bash外壳。
curl -O -L https://downloads.jboss.org/keycloak/4.1.0.Final/keycloak-4.1.0.Final.tar.gz tar xvfz keycloak-4.1.0.Final.tar.gz ./keycloak-4.1.0.Final/bin/standalone.sh -Djboss.socket.binding.port-offset=100
curl -O -L http://download.jboss.org/wildfly/11.0.0.Final/wildfly-11.0.0.Final.tar.gz curl -O -L https://downloads.jboss.org/keycloak/4.1.0.Final/adapters/keycloak-oidc/keycloak-wildfly-adapter-dist-4.1.0.Final.tar.gz tar xvfz wildfly-11.0.0.Final.tar.gz cd wildfly-11.0.0.Final tar xvfz ../keycloak-wildfly-adapter-dist-4.1.0.Final.tar.gz cd bin ./jboss-cli.sh --file=adapter-elytron-install-offline.cli cd ../.. ./wildfly-11.0.0.Final/bin/standlone.sh
git clone https://github.com/keycloak/keycloak-quickstarts cd keycloak-quickstarts/app-profile-jee-vanilla mvn clean wildfly:deploy
经过几分钟的编译,我看到了“所需的机制'BASIC'在HttpAuthenticationFactory的机制[KEYCLOAK]中不可用”消息。
有人可以指出我要解决此问题的方向吗?
答案 0 :(得分:3)
正如我现在看到的,问题在于elytron适配器已安装,并且不应该安装。我删除了Wildfly目录。然后解压缩tgz文件。在没有进行任何其他配置的情况下,我启动了Wildfly服务器。服务器启动后,wildfly:deploy maven命令开始工作。
答案 1 :(得分:1)
根据下面的链接,这与Wildfly中默认的默认身份验证设置有关,默认情况下缺少凭据(ldap-realm配置不足) https://issues.jboss.org/browse/JBEAP-9943
可以通过将身份验证重定向到特定的Wildfly部署(例如“ vanilla.war”)的Keycloak来解决,如下所述: https://github.com/keycloak/keycloak-quickstarts/blob/latest/app-profile-jee-vanilla/README.md#configure-client-adapter-subsystem
,然后按问题中的说明进行部署(mvn clean wildfly:deploy)
答案 2 :(得分:0)
您只需要配置以下文件:standalone / configuration / standalone.xml
检查以下链接: https://www.keycloak.org/docs/latest/getting_started/index.html
步骤4.5
运行前:
sudo mvn clean wildfly:deploy
答案 3 :(得分:0)
发现Keycloak的“入门指南”的顺序需要更改。您必须执行随后更改standalone.xml文件的步骤。
在执行以下步骤之前:启动WildFly服务器并完成以下步骤:
> git clone https://github.com/keycloak/keycloak-quickstarts
> cd keycloak-quickstarts/app-profile-jee-vanilla
> mvn clean wildfly:deploy
,然后使用以下命令更改“ standalone.xml”文件:
> cd bin
> jboss-cli.bat --file=adapter-elytron-install-offline.cli
答案 4 :(得分:0)
我遇到了同样的问题。我找到了解决方法。
在运行mvn clean wildfly:deploy
之前,我在keycloak
子系统中设置安全部署,如下所示:
<subsystem xmlns="urn:jboss:domain:keycloak:1.1">
<secure-deployment name="vanilla.war">
<realm>demo</realm>
<auth-server-url>http://localhost:8180/auth</auth-server-url>
<public-client>true</public-client>
<ssl-required>EXTERNAL</ssl-required>
<resource>vanilla</resource>
</secure-deployment>
</subsystem>