如何解决客户在 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 中添加用户同意?

如何将“帐户”的概念添加到 Keycloak?

如何通过 API 在 keycloak 中忘记密码

如何在 Keycloak 中添加 ipAddres o clientAddress 令牌

Keycloak 创建和修改自定义用户信息

如何在 Keycloak 中授予部分用户部分用户管理权限?