目录
介绍
当您将Keycloak与现有应用程序集成时,您可能需要将所有用户配置文件迁移到Keycloak中,在Keycloak中创建用户的传统方式是管理员用户可以使用控制台手动创建新的用户配置文件,但如果要创建数千个用户,这将是一个耗时的过程。Python Keycloak包提供了一个接口,用于将用户配置文件导出到Keycloak中。
背景
将用户配置文件导出到Keycloak的过程分为两步。
- 在Keycloak中配置Admin-cli客户端
- 用于从JSON文件创建用户的Python脚本
在Keycloak中配置Admin-cli客户端
导航到admin-cli:
更改Amin-cli设置并“保存”设置:
分配管理员角色以创建新用户:
生成密钥或使用现有密钥:
用于从JSON文件创建用户的Python脚本:
安装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="http://localhost: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"
}
]
}
引用
https://www.codeproject.com/Tips/5338440/How-to-Export-a-Users-Profile-into-Keycloak