我在将keycloak sso重定向到移动的应用程序(Android或iOS)时遇到问题
wqsoz72f1#
如果您是服务的管理员,并且最近更新了keycloak到18.0.0或更高版本,这可能是原因/解决方案:
如果您的应用程序直接使用链接来注销具有redirect_uri参数的端点,则可能需要如上所述进行更改。请考虑完全删除redirect_uri参数,或将其替换为id_token_hint和post_logout_redirect_uri参数。
redirect_uri
id_token_hint
post_logout_redirect_uri
早期版本的Keycloak支持用户自动注销,并通过打开注销端点URL(如http(s)://example-host/auth/realm/my-realm-name/protocol/openid-connect/logout?redirect_uri = encodedRedirectUri)重定向到应用程序。虽然该实现易于使用,但它可能会对性能和安全性产生负面影响。新版本基于OpenID Connect RP发起的注销规范更好地支持注销。不再支持参数redirect_uri;另外,在新版本中,用户需要确认注销。2当您包含参数post_logout_redirect_uri和参数id_token_hint以及用于登录的ID令牌时,可以省略确认并自动重定向到应用程序。
https://www.keycloak.org/2022/04/keycloak-1800-released#_openid_connect_logout
dfddblmv2#
@flavio.donze我在重定向登录时遇到了同样的问题(不是注销)
com.application.example://
A redirect URI is not a valid URI
https://{{keycloak-server}}/auth/realms/employee/protocol/openid-connect/auth?client_id=mobile-app&redirect_uri=com.application.example%3A%2F%2F&response_type=code&scope=openid
Invalid parameter: redirect_uri
2条答案
按热度按时间wqsoz72f1#
如果您是服务的管理员,并且最近更新了keycloak到18.0.0或更高版本,这可能是原因/解决方案:
如果您的应用程序直接使用链接来注销具有
redirect_uri
参数的端点,则可能需要如上所述进行更改。请考虑完全删除redirect_uri
参数,或将其替换为id_token_hint
和post_logout_redirect_uri
参数。早期版本的Keycloak支持用户自动注销,并通过打开注销端点URL(如http(s)://example-host/auth/realm/my-realm-name/protocol/openid-connect/logout?redirect_uri = encodedRedirectUri)重定向到应用程序。虽然该实现易于使用,但它可能会对性能和安全性产生负面影响。新版本基于OpenID Connect RP发起的注销规范更好地支持注销。不再支持参数redirect_uri;另外,在新版本中,用户需要确认注销。2当您包含参数post_logout_redirect_uri和参数id_token_hint以及用于登录的ID令牌时,可以省略确认并自动重定向到应用程序。
https://www.keycloak.org/2022/04/keycloak-1800-released#_openid_connect_logout
dfddblmv2#
@flavio.donze我在重定向登录时遇到了同样的问题(不是注销)
com.application.example://
)在“有效的重定向URI”和“基本URL"中,密钥罩管理控制台给出“A redirect URI is not a valid URI
“,仅接受http/https方案https://{{keycloak-server}}/auth/realms/employee/protocol/openid-connect/auth?client_id=mobile-app&redirect_uri=com.application.example%3A%2F%2F&response_type=code&scope=openid
),我收到消息“Invalid parameter: redirect_uri
“