通过api和分配clientrole realmanagmen创建用户keyClose

2024-04-20 07:12:08 发布

您现在位置:Python中文网/ 问答频道 /正文

使用keymocaprestapi创建以下内容。在

•创建新领域(托管)

•创建一个新的领域“管理”,例如:领域主

•分配领域管理者的角色领域管理

正在尝试为使用keycloop的应用程序编写全自动CI解决方案。在这里,我在测试期间自动在k8s中重新创建keymocapserver,以确保所有东西都是一样的。在

当前使用的是Key斗篷5。

import requests

URL = "http://127.0.0.1:8081/auth/"
openid_url = URL + "realms/master/protocol/openid-connect/token"
user_url = URL + "admin/realms/master/users"


data = {
    "username": "keycloak",
    "password": "keycloak-pw",
    "grant_type": "password",
    "client_id": "admin-cli",
}

token_request = requests.post(openid_url, data=data)

token_raw = token_request.json()
AUTH_TOKEN = token_raw.get("access_token")

user_data = {
    "username": "realm-master2",
    "enabled": "true",
    "credentials": [{"type": "password", "value": "super-secret-password"}],
}

headers = {"Authorization": "Bearer " + AUTH_TOKEN, "Content-Type": "application/json"}

user_request = requests.post(user_url, json=user_data, headers=headers)
print(f"Got status code: {user_request} with data  \n")
print(user_request.json())

但是我无法将我的新用户分配给客户机角色领域管理中的所有角色。 我试图阅读api文档,但找不到如何执行该命令。在

我尝试使用POST/{realm}/users/{id}/role mappings/realm的文档 但是我不明白身体应该是什么样子,或者我是否应该使用这个端点。 找到:Keycloak - using admin API to add client role to user 但没能控制住乙醚。在

如果有人知道使用api执行的确切命令,请分享。在

我已经花了很多时间来完成这项任务,如果有人能直截了当地做这件事,那就太好了。如果是这样的话,我可能也可以为将来的问题解码如何阅读keyclope文档。在

感谢任何反馈。在


Tags: tokenjsonurl角色dataadminrequestpassword