JBoss 没有重定向到 Keycloak
Posted
技术标签:
【中文标题】JBoss 没有重定向到 Keycloak【英文标题】:JBoss not redirecting to Keycloak 【发布时间】:2019-08-06 08:54:59 【问题描述】:我有 JBoss EAP 7
所以我已经完成了:
unzip keycloak-eap7-adapter-dist-3.2.1.Final.zip
和
./bin/jboss-cli.sh --file=adapter-install-offline.cli
并将<security-constraint>
元素添加到web.xml:
<security-constraint>
<web-resource-collection>
<web-resource-name>Admins</web-resource-name>
<url-pattern>/admin/*</url-pattern>
...
<security-role>
<role-name>admin</role-name>
...
在我的standalone.xml
中,我有:
<subsystem xmlns="urn:jboss:domain:keycloak:1.1">
<secure-deployment name="snack.war">
<realm>Netzportal</realm>
<resource>netzportal</resource>
<public-client>true</public-client>
<auth-server-url>http://localhost:8180/auth</auth-server-url>
<ssl-required>EXTERNAL</ssl-required>
</secure-deployment>
</subsystem>
在 keycloak 管理控制台中,我已将 Web 应用程序注册为客户端。客户端在http://localhost:10080/czo/login.xhtml
打开。所以我输入http://localhost:10080/czo/*
为Valid Redirect URIs
。
但是当应用程序正在运行并且我打开 http://localhost:10080/czo/login.xhtml
时,我不会被重定向到 keycloak(它也在运行)
【问题讨论】:
【参考方案1】:您似乎缺少以下条目(因为它没有出现在您列出的 web.xml
配置中),它实际上告诉了要使用哪种身份验证来登录
<login-config>
<auth-method>KEYCLOAK</auth-method>
<realm-name>Netzportal</realm-name>
</login-config>
有关配置的更多详细信息,请查看docs。
【讨论】:
链接文档中的这一段不是表明他不应该这样做吗? (抱歉,如果 2 年前是真的)您不必修改 WAR 以使用 Keycloak 保护它。相反,您可以通过 Keycloak 适配器子系统从外部保护它。虽然您不必将 KEYCLOAK 指定为身份验证方法,但您仍然必须在 web.xml 中定义安全约束。以上是关于JBoss 没有重定向到 Keycloak的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Spring Boot 不会重定向到 403 上的 Keycloak 登录页面?