65.9K
CodeProject 正在变化。 阅读更多。
Home

如何将用户资料导出到 Keycloak

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2022 年 7 月 29 日

CPOL
viewsIcon

8268

将用户资料导出到 Keycloak

引言

当您将 Keycloak 与现有应用程序集成时,您可能需要将所有用户资料迁移到 Keycloak。在 Keycloak 中创建用户资料的传统方法是管理员可以使用控制台手动创建新的用户资料,但如果您想创建数千个用户,这将是一个耗时的过程。Python Keycloak 包提供了一个接口,可以将用户资料导出到 Keycloak。

背景

将用户资料导出到 Keycloak 的过程分为两个步骤。

  1. 配置 Keycloak 中的 Admin-cli 客户端
  2. 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 日:初始版本
© . All rights reserved.