如何解决客户在 keycloak 中需要用户同意?
Posted
技术标签:
【中文标题】如何解决客户在 keycloak 中需要用户同意?【英文标题】:How can I resolved Client requires user consent in keycloak? 【发布时间】:2021-08-14 07:17:42 【问题描述】:创建用户时我需要在 keycloak 用户中添加用户同意我正在使用 API
http://localhost:8080/auth/admin/realms/master/users
然后打开并尝试创建用户,但我收到如下错误:
客户需要用户同意
我不知道我需要传递哪个参数来解决这个错误,谁能帮我解决这个问题。
谢谢你
【问题讨论】:
【参考方案1】:什么是同意?
同意是指您作为管理员希望用户授予 在该客户端可以参与身份验证之前的客户端 过程。用户提供凭据后,Keycloak 将弹出 识别请求登录的客户端和身份的屏幕 要求用户提供信息。用户可以决定是否 批准请求。
那么通过api或者curl命令创建用户的过程是怎样的
-
借助用户名/密码/客户端/领域信息生成令牌
现在将此令牌传递给 create user restapi 或 curl 命令与 date[username/emailid...] 等
所以在您的情况下,您遇到的问题是
Client requires user consent
所以这意味着在您的客户端(用于生成令牌)中,Consent Required
选项是 true
代替 false。
要么
您使用错误的客户端来创建用户。
仅供参考:- 通常我们有两个不同的客户端用于后端和前端应用程序,但存在一些重大差异。
【讨论】:
以上是关于如何解决客户在 keycloak 中需要用户同意?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用创建用户或其他 API 在 keycloak 中添加用户同意?