是否可以使用REST API使用jboss/keycloak:16.1.1创建新用户?

moiiocjp  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(186)

基于这个链接,我可以成功地:
1.运行基于jboss/keycloak:16.1.1的Docker容器
1.设置一个具有secret和client_id的客户端
1.获取有效的access_token
然而,我需要 * 通过REST API在 keycloak 中创建(和获取)* 用户。在下面的图片中,你可以看到我在postman中尝试了什么,结果我得到了404


的数据

  • 问题1:* jboss/keycloak:16.1.1是否支持通过REST创建和获取用户?

当我检查下图中提供的API时,没有与用户相关的API。


  • 问题2:我需要为客户端分配哪些角色才能创建或获取用户?*

我使用jwt网站来调查我的令牌,我发现这个令牌有几个realm_rolesaccoint_roles,如[ "default-roles-master", "offline_access", "uma_authorization" ],但我不确定这些角色是否给予了我创建或获取用户的权限。是吗?
这是我的token,你可以把它放在jwt.io中并检查结果:

eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ2X1gtMFJaTWhEbkNER0NnUjhoZGx5RGRwaENvUWxOcnNuZHZVUm9scms4In0.eyJleHAiOjE3MDMyNjU5MzcsImlhdCI6MTcwMzI2NTg3NywianRpIjoiZGQ1ZDNjOGQtM2Q1Yi00MjVjLTkwZTktOWJmNzc1MjNmMzMxIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL2F1dGgvcmVhbG1zL21hc3RlciIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiIyYzVmNDQxMy04ZGIxLTQ4NjgtYTJiNC1kMzA2Njg2NDc5YWMiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJhZG1pbi1yZXN0LWNsaWVudCIsImFjciI6IjEiLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsiZGVmYXVsdC1yb2xlcy1tYXN0ZXIiLCJvZmZsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJwcm9maWxlIGVtYWlsIiwiY2xpZW50SWQiOiJhZG1pbi1yZXN0LWNsaWVudCIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiY2xpZW50SG9zdCI6IjE3Mi4xNy4wLjEiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtYWRtaW4tcmVzdC1jbGllbnQiLCJjbGllbnRBZGRyZXNzIjoiMTcyLjE3LjAuMSJ9.LuEEDoRKubMXrccgxAkpVPun4jbmr7Kn_8EG0eeyxcwudnEF-aUDd0zLEIz8cDUnvLybbAIfq0CUOr6sslTdzgV52FFrOrIfo3kqyy6stHEuhSCs-G7SPwwbv3aOIUmQqC9H2Mi4rW3K46edutBGwDKqJ-bSKTTHfhw128UrU-x5Clk7pZ1hHEV56KttgBtlLIOpmhQ4Ji88ah0RaYb3I9j7ekLQWwUmd04c1JfR3rcOEquYYUfA-Se2wyhDP14HNOCQWq4Nx1ctf3Y9KDfX_qqF-cjG7JJy88bc7FDjBZjC5xAfdahScLS3aUR_wa0NyBYEY-4BC1G3qHMkvPYycg

字符串

mepcadol

mepcadol1#

1通过REST API创建用户和获取用户

1.将“manage_users”角色分配给客户端

1.获取令牌



通过jwt.io

解码令牌
1.创建用户

POST http://localhost:8080/auth/admin/realms/my-realm/users

字符串
身体

{
  "enabled": true,
  "attributes": {},
  "groups": [],
  "username": "user2",
  "emailVerified": "",
  "email": "[email protected]",
  "firstName": "Tom",
  "lastName": "Cruise"
}




结果

2在客户端创建用户的角色

“管理用户”角色。
细节在这里和这里

相关问题