使用keycloak rest api创建以下内容。
•创建一个新领域(托管)
•创建一个新的领域“ admin”,例如:realm-master
•指派领域管理员来管理领域
尝试为使用keycloak的应用程序编写全自动CI解决方案。在测试期间,我会在k8s中自动重新创建keycloak服务器,以确保100%确保所有内容始终相同。
当前正在使用密钥斗篷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())
但是我无法将新用户分配给client-role realm-management内部的所有角色。 我试图阅读api文档,但找不到执行命令的方法。
我尝试的文档为POST / {realm} / users / {id} / role-mappings / realm 但是我不明白身体应该是什么样子,或者我应该使用的是这个端点。 找到:Keycloak - using admin API to add client role to user 但是没有管理那个以太坊。
如果知道使用api执行的确切命令,请分享。
到目前为止,我已经花了很多时间来完成这项任务,如果有人直接做到这一点,那就太好了。如果是这样,我大概也可以解码如何阅读密钥库文档以解决以后的问题。
非常感谢您的反馈。
答案 0 :(得分:0)