如何解决客户端在 keycloak 中需要用户同意的问题?

Dha*_*val 3 node.js keycloak keycloak-rest-api

创建用户时,我需要在 keycloak 用户中添加用户同意。我正在使用 API

http://localhost:8080/auth/admin/realms/master/users

并打开并尝试创建用户,但我收到如下错误:

客户端需要用户同意

我不知道需要传递哪个参数来修复此错误。

Sub*_*shi 5

什么是同意?

同意是指您作为管理员希望用户在客户端参与身份验证过程之前向该客户端授予权限。用户提供凭据后,Keycloak 将弹出一个屏幕,标识请求登录的客户端以及请求用户的身份信息。用户可以决定是否同意该请求。

那么通过api或者curl命令创建用户的过程是怎样的

  1. 借助用户名/密码/客户端/领域信息生成令牌
  2. 现在将此令牌传递给创建用户restapi或带有日期[用户名/电子邮件ID...]等的curl命令

所以在你的情况下,你遇到的问题是

Client requires user consent
Run Code Online (Sandbox Code Playgroud)

所以这意味着在您的客户端(用于生成令牌)中,Consent Required选项true代替了 false。或者您使用错误的客户端来创建用户。

在此输入图像描述

仅供参考:- 一般来说,我们有两个不同的客户端用于后端和前端应用程序,但存在一些重大差异。