使用来自 Keycloak 的 URL OIDC 参数重定向给出错误请求

Redirect with URL OIDC parameters from Keycloak gives Bad Request

我当前的设置如下:

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

所有Kerberos、Keycloak和AD的配置都完成了,服务器和客户端之间的协议运行顺利,但是最后一个"GET"请求,其中用户已被授予访问权限,这意味着请求 Keycloak 重定向 URL 包含 OpenID-Connect 参数(state= 和 code=),returns a "bad request".

我对使用 Keycloak 作为 SSO 提供商的概念还很陌生,所以这可能是我错过的非常微不足道的事情。

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

我确实找到了解决方案:

  • 我试图用浏览器更改 Fiddler 客户端,但我遇到了问题,它告诉我令牌的颁发者与预期的不一样,我发现在我的 standalone.xml , 身份验证端点拼写为大写,它期望一个小写。至于"No state cookie",我猜浏览器处理那种请求,与Fiddler有点不同。