Keycloak 不会在开发中重定向
Posted
技术标签:
【中文标题】Keycloak 不会在开发中重定向【英文标题】:Keycloak doesn't redirects in development 【发布时间】:2020-03-26 13:15:15 【问题描述】:我刚刚在端口 10080 上使用 docker 容器第一次启动 Keycloak(新手)。并设置了一个新领域、客户端、用户并将其附加到角色/组。到目前为止一切都很好,并且可以正常工作。
在 Keycloak 的客户端设置中,我将我的应用程序的 Valid Redirect URIs
设置为 http://localhost:8080/*
,当我调用我的网络服务器的身份验证页面时,我收到来自 Keycloak Invalid parameter: redirect_uri
的错误消息,如果我将URI
设置为*
其工作但Keycloak 不会重定向到端口8080 并重定向到:10080/oauth?state=1c7
,如果我只是用我的网络服务替换端口,它会显示我设置的身份验证令牌用于测试以显示来自 Keylcloak 的有效负载。
重定向不起作用!如果我为我的用户输入了错误的凭据,它可以完美地处理错误消息,这是预期的行为。
我还在客户端设置中将 root 和 admin url 设置为保存端¯_(ツ)_/¯
我的 docker-compose:
keycloak:
image: jboss/keycloak:8.0.0
container_name: keycloak_abc
ports:
- "10080:8080"
environment:
- KEYCLOAK_USER=admin
- KEYCLOAK_PASSWORD=admin
networks:
- abc-network
使用有效用户登录并将重定向 url 设置为 *
后来自 Keycloak 的响应:
http://localhost:10080/oauth?state=768038c4a2adb8dd&session_state=e64e00d9-f3d0-4c0a-9df0-42cab897be08&code=47cd4e1c-ff62-46c1-a681-182a83b6aeb4.e64e00d9-f3d0-4c0a-9df0-42cab897be08.7006377e-2f0d-4b56-b3e5-991f8036fb11
我从网络流量上传了一段录音:https://pastebin.com/v3yqcUh7
【问题讨论】:
你能告诉我们你的请求的网址吗?重定向 url 应该在 url 参数中。 @andrija 我已经更新了 Q 您发送了错误的返回网址:redirect_uri=http%3A%2F%2Flocalhost%3A10080%2Foauth 您应该发送应用程序的地址,而不是 Keycloak 地址。 它的工作现在感谢您的帮助! 【参考方案1】:它正在工作!
install(Authentication)
oauth(keycloakOAuth)
client = HttpClient(Apache)
providerLookup = keycloakProvider
urlProvider = "http://localhost:8080/oauth"
我已将 urlProvider 从 /oauth
更新为 http://localhost:8080/oauth
,现在它是例外。
┳━┳ヽ(ಠل͜ಠ)ノ
【讨论】:
以上是关于Keycloak 不会在开发中重定向的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Spring Boot 不会重定向到 403 上的 Keycloak 登录页面?
在 CodeIgniter 3 中重定向后 Flashdata 未清除