使用keycloak rest API创建以下内容。
试图为使用KeyCloak的应用程序编写完全自动化的CI解决方案。我在测试期间自动重新创建k8s中的keycloak服务器,以100%确保所有内容都是相同的。
目前使用KeyCloak5。
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文档,但我找不到如何执行该命令。
如果需要自动安装和配置Keycloak,可以使用admin-cli
您可以创建领域角色,如下所示
$ kcadm.sh create roles -r demorealm ...
如何在KeyCloak中的领域中创建管理用户?我尝试了,它给了我一个错误:
有没有更好的方法来实现这种设置(类似于组织设置,一个人可以属于几个组织并管理其中的一些/所有组织,而不必有几个帐户)? 我用的是Keycloak 4.6
我试图使用Keycloak rest API向特定用户添加客户端级别的角色。我在邮递员尝试这个,但不断得到404找不到。 https://{keycloak url}/auth/admin/realms/acme/users/b62dc517-0dd8-41ad-9d97-f385e507e279/role-mappings/clients/6b1f23b4-6bec-4873-a991-4b7e
我试图使用KeyCloak的管理API,以便向用户角色映射添加客户端级别的角色。为此,我使用管理endpoint: 不确定这里的问题是什么,因为该角色存在于系统中。这里会出什么问题?
在KeyCloak中可以让一个领域的用户管理另一个领域吗?我的目标是拥有两个领域--adminRealm和UserRalm。在adminRealm中应该是用户,他们将能够登录到我们的管理应用程序,他们可以通过Keycloak rest api创建“普通用户”,这将被放置到UserRealm中。 目前我的解决方案工作在一个领域,在那里我有管理用户,可以登录到我的管理应用程序,在那里他可以在相同的领域
如何配置Keycloak以使用特定的OIDC-client进行身份验证,但如果用户没有特定的角色,则返回失败的身份验证?