如何将用户资料导出到 Keycloak





5.00/5 (1投票)
将用户资料导出到 Keycloak
引言
当您将 Keycloak 与现有应用程序集成时,您可能需要将所有用户资料迁移到 Keycloak。在 Keycloak 中创建用户资料的传统方法是管理员可以使用控制台手动创建新的用户资料,但如果您想创建数千个用户,这将是一个耗时的过程。Python Keycloak 包提供了一个接口,可以将用户资料导出到 Keycloak。
背景
将用户资料导出到 Keycloak 的过程分为两个步骤。
- 配置 Keycloak 中的
Admin-cli
客户端 - Python 脚本从 JSON 文件创建用户
配置 Keycloak 中的 Admin-cli 客户端
导航到 admin-cli
更改 Amin-cli
设置并“保存”设置
分配 Admin 角色以创建新用户
生成密钥或使用现有密钥
Python 脚本从 JSON 文件创建用户
安装 Keycloak 包:pip install python-keycloak
文件名:Createuser.py
from keycloak import KeycloakAdmin
import json
# The username and password should match with your Keycloak admin console credentials
# The secret key should be the Admin-cli secret key
keycloak_admin = KeycloakAdmin(server_url="https://:8080/auth/",
username='admin',
password='admin',
realm_name="master",
client_secret_key="1gk3ejBO4I5TqiNgiJ7hQL0Tch6ow2xL",
verify=True)
# Opening JSON file
f = open('users.json')
data = json.load(f)
for user in data['users']:
new_user = keycloak_admin.create_user(
{
"email": user['email'],
"username": user['username'],
"enabled": True,
"firstName": user['firstName'],
"lastName": user['lastName']
})
文件名:Users.json
{
"users":[
{
"email": "Blaze.Stokes@yahoo.com",
"firstName": "Scotty",
"lastName": "Frami",
"username": "Kennith_Stokes84",
"id": "1"
},
{
"email": "Howell.Kuphal8@yahoo.com",
"firstName": "Norwood",
"lastName": "Weber",
"username": "Derrick89",
"id": "2"
}
]
}
参考文献
历史
- 2022 年 7 月 29 日:初始版本