【问题标题】:How To Resolve "The required mechanism 'BASIC' is not available in mechanisms [KEYCLOAK] from the HttpAuthenticationFactory"如何解决“HttpAuthenticationFactory 的机制 [KEYCLOAK] 中没有所需的机制‘BASIC’”
【发布时间】:2018-12-14 12:18:26
【问题描述】:

当我尝试部署 keycloak-quickstart app-profile-jee-vanilla 项目时,我遇到了一条错误消息。网上搜索了一下,没有找到解决办法,所以想在这里问一下。

这是我遵循的步骤。涉及三个 bash shell。


钥匙扣外壳

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 光盘盒 ./jboss-cli.sh --file=adapter-elytron-install-offline.cli 光盘../.. ./wildfly-11.0.0.Final/bin/standlone.sh

快速启动外壳

git 克隆 https://github.com/keycloak/keycloak-quickstarts cd keycloak-quickstarts/app-profile-jee-vanilla mvn clean wildfly:部署

编译几分钟后,我看到“所需的机制 'BASIC' 在 HttpAuthenticationFactory 的机制 [KEYCLOAK] 中不可用”消息。

有人能指出解决这个问题的方向吗?

【问题讨论】:

    标签: java wildfly keycloak


    【解决方案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】:

      我现在看到的问题是 elytron 适配器已安装,但它不应该安装。我删除了 Wildfly 目录。然后解压缩 tgz 文件。在没有做任何其他配置的情况下,我启动了 Wildfly 服务器。服务器启动后,wildfly:deploy maven 命令运行。

      【讨论】:

      【解决方案3】:

      你只需要配置以下文件:standalone/configuration/standalone.xml

      查看以下链接: https://www.keycloak.org/docs/latest/getting_started/index.html

      步骤 4.5

      运行前:

      sudo mvn clean wildfly:deploy

      【讨论】:

      • 是的,这是正确的答案。我已按照入门指南进行操作,但遇到了同样的错误。问题是我没有在我复制到standalone.xml 的安全部署标签中配置战争名称。所以在将这段代码从 Keycloak 粘贴到 Standalone.xml 时要小心:<secure-deployment name="WAR MODULE NAME.war">...
      • 确认,这种方法也适用于我。 Keycloak 文档似乎以错误的顺序说明了这些步骤。
      【解决方案4】:

      发现需要更改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
      

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题。我找到了解决方法。 在运行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>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-03-30
          • 2015-01-30
          • 2018-08-08
          • 2014-01-23
          • 2014-07-20
          • 2016-02-23
          • 2012-03-03
          相关资源
          最近更新 更多