Docker keycloak 动态网络应用程序无法正常工作

Docker keycloak dynamic web app not working

webapp: port : 7070  and   docker: jboss/keycloak port:2020

keycloak.json

{
  "realm": "abc",
  "auth-server-url": "http://localhost:2020/auth/",
  "ssl-required": "none",
  "resource": "abcclient",
  "public-client": true,
  "confidential-port": 0
}

http://localhost:2020/auth/realms/abcWeb/.well-known/openid-configuration:可以在浏览器中看到输出,但是 error.org.keycloak.adapters.KeycloakDeployment.resolveUrls 无法从 http://localhost:2020/auth/realms/abcWeb/.well-known/openid-configuration

加载 URL

keycloak独立服务器: 有效重定向url是localhost:7070/* base/admin url : localhost:2020/

在应用的 web.xml 中

        <login-config>
            <auth-method>KEYCLOAK</auth-method>
            <realm-name>realmname</realm-name>
        </login-config>
        
        <security-constraint>
            <web-resource-collection>
                <web-resource-name>webapp</web-resource-name>
                <url-pattern>/*</url-pattern>
            </web-resource-collection>
            <auth-constraint>
                <role-name>admin</role-name>
            </auth-constraint>
        
        </security-constraint>
        <!-- Security roles referenced by this web application -->
        <security-role>
            <role-name>admin</role-name>
        </security-role>
        <security-role>
            <role-name>user</role-name>
        </security-role>

*) 在 META_INF 中添加一个名为 (contex.xml)

的 xml 文件
      <Context path="/path to your app">
            <Valve className="org.keycloak.adapters.tomcat.KeycloakAuthenticatorValve"/>
        </Context>
    

*) 构建和 运行 () 注意在 keycloak

中创建客户端时配置有效 return url 时要小心

所以经过无数次尝试我成功了。在 docker 容器中构建并 运行 我的网络应用程序的图像。 在 tomcat 的 bash 中进行了检查,观察了我的欢迎文件是如何构建的,以及我管理文件夹结构的不同之处。 我的WEB-INF和META_INF现在在根目录下。

-- main app/
  --apps
    - classes
--Dockerfile
--WEB_INF
--META_INF
--pom.xml

不确定这是否正确但它有效!!!