如何将用户的配置文件导出到 Keycloak

Python Keycloak
使用 Python 读取 JSON 文件
使用 Keycloak REST API 创建客户端时出现

AI吧Python

将用户配置文件导出到 Keycloak在本文中,我将向您展示如何轻松地将现有用户配置文件导出到 Keycloak 中,这将减少手动工作。

介绍

当您将 Keycloak 与现有应用程序集成时,您可能必须将所有用户配置文件迁移到 Keycloak 中,在 Keycloak 中创建用户的传统方式是管理员用户可以使用控制台手动创建新的用户配置文件,但如果你想创建成千上万的用户,这将是一个耗时的过程。Python Keycloak 包提供了一个将用户配置文件导出到 Keycloak 的接口。

背景

将用户配置文件导出到 Keycloak 有两个步骤。

  1. Admin-cli在 Keycloak 中配置客户端
  2. 从 JSON 文件创建用户的 Python 脚本

在 Keycloak 中配置 Admin-cli 客户端

导航到admin-cli

更改Amin-cli设置并“保存”设置:

分配管理员角色以创建新用户:

生成密钥或使用现有密钥:

从 JSON 文件创建用户的 Python 脚本:

安装 Keycloak 包:pip install python-keycloak

文件名:创建用户.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"
        }        
       ]
}

参考

发表评论

邮箱地址不会被公开。 必填项已用*标注