使用Keycloak中的URL OIDC参数重定向会导致错误请求

时间:2016-12-30 10:22:29

标签: java wildfly kerberos openid-connect keycloak

我目前的设置如下:

  • 运行Active Directory的Windows Server。
  • 运行WildFly的Keycloak服务器。
  • 在WildFly上部署受限访问的Java测试应用程序。

授权流程是AD中的用户请求访问应用程序,用户被授予Kerberos票证,并尝试使用该特定票证获取对同一应用程序的访问权限。

完成了Kerberos,Keycloak和AD的所有配置,服务器和客户端之间的协议运行顺利,但最后一次“GET”请求,用户被授予访问权限,这意味着制作对包含OpenID-Connect参数(state =和code =)的Keycloak重定向URL的请求,返回“错误请求”。

我对使用Keycloak作为SSO提供商的概念相当新,所以这可能是我错过的非常简单的事情。

[编辑] 如果我在Fiddler中发出限制页面的请求,它会给我一个“No State Cookie”,但是当我使用任何类型的浏览器时,它会显示“Forbidden”,而我的日志会显示ERROR [org.keycloak.adapters。 OAuthRequestAuthenticator](默认任务-9)令牌验证失败:令牌颁发者无效。预计为http://KEYCLOAK:9090/auth/realms/kerberos-realms/“,但预计为”http://keycloak:8080/auth/realms/kerberos-realm

1 个答案:

答案 0 :(得分:3)

我确实找到了解决方案:

  • 我试图用浏览器更改Fiddler客户端,我遇到问题,它告诉我令牌的发行者不是预期的,我发现在我的standalone.xml中,身份验证端点用大写字母拼写,并且它预计在较低的情况下。至于“无状态cookie”,我猜浏览器会处理这种请求,与Fiddler有点不同。