【问题标题】:How to add new user in keyclaok using postman?如何使用邮递员在 keycloak 中添加新用户?
【发布时间】:2020-06-12 06:49:05
【问题描述】:

我正在尝试使用 postman 在 keyclaok 服务器中添加用户,但我无法创建。

邮递员请求:

方法:POST 网址:http://localhost:8080/auth/admin/realms/ctms/users

标题:授权

请求正文中的 JSON 类型:

{
  "enabled": true,
  "attributes": {},
  "emailVerified": "",
  "firstName": "DDDDDD",
  "lastName": "WWWWWWW",
  "email": "wwww@aaa.com"
}

获取响应 403 禁止

{ “错误”:“未知错误” }

我正在制作一个带有新用户和注册用户选项的自定义 lonin 页面,但我无法创建新用户如果有人请告诉我如何使用邮递员在 keyclaok 中添加新用户

【问题讨论】:

  • 用户应具有管理用户客户端角色才能创建新用户

标签: java spring-boot keycloak


【解决方案1】:

您收到 403 错误,因为您没有传递正确的不记名令牌。 这是一个例子

curl --location --request POST 'http://localhost:8080/auth/admin/realms/demo/users' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \
--data-raw '{"username" : "bburke", 
  "enabled": "true"

您可以使用以下命令获取管理员令牌

curl --location --request POST 'http://localhost:8080/auth/realms/master/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'username=admin' \
--data-urlencode 'password=admin' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'client_id=admin-cli'

您需要提供管理员用户名和密码以及您的 client_id 来代替用户名和密码

【讨论】:

  • 嗨 Avinash,感谢更新,但我传递了正确的不记名令牌,但我仍然收到 403 { "error": "unknown_error" } 如果您在 GitHub 中有任何演示项目,请分享我的链接。
  • 你能告诉我你是如何生成不记名令牌的吗?
  • 对于令牌,我在邮递员中使用下面的 api,然后我从 keyclaok 获取令牌。方法 POST:localhost:8080/auth/realms/ctms/protocol/openid-connect/token 标头:x-www-form-urlencoded client_id=demo-app grant_type:password username:admin password:password
  • 所以基本的想法是只有管理员用户可以创建一个新用户。如果你尝试使用其他令牌,服务器将向你发送 403 禁止 ..这里有点混淆同样的事情为我工作..您可以尝试查看 admin_token 的 access_token 寿命吗?默认为 60 秒。如果您在调用管理 API 60 秒后调用创建用户 API,您应该只得到 403 ..
  • 我正在使用管理员用户令牌,但我无法创建用户,你能分享我完整的 api 详细信息吗?或者,如果您有任何博客和 git url,那对我来说很好。谢谢!
猜你喜欢
  • 2020-05-29
  • 2020-01-17
  • 2019-07-18
  • 2019-05-08
  • 2021-03-29
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
  • 2018-01-01
相关资源
最近更新 更多