# 管理用户
Authing 管理模块。
此模块可以进行用户目录增删改查、搜索用户、刷新用户 token、管理用户分组、管理用户角色、管理用户策略授权等操作。
# 创建用户
UsersManagementClient().create(userInfo)
此接口将以管理员身份创建用户,不需要进行手机号验证码检验等安全检测。
# 参数
userInfo
<CreateUserInput> 用户资料userInfo.email
<string> 邮箱,用户池内唯一userInfo.emailVerified
<boolean> 邮箱是否已验证userInfo.phone
<string> 手机号userInfo.phoneVerified
<boolean> 手机号是否验证userInfo.unionid
<string> 以社会化登录的用户该字段为用户在第三方社会化登录服务商中的唯一 IDuserInfo.openid
<string> 微信登录返回的 openiduserInfo.password
<string> 密码userInfo.registerSource
<string> 注册来源,可以多选userInfo.username
<string> 用户名userInfo.nickname
<string> 昵称userInfo.photo
<string> 头像userInfo.company
<string> 公司userInfo.browser
<string> 浏览器userInfo.loginsCount
<number> 登录次数,当你从原有用户系统迁移到 Authing 时可以设置该字段。userInfo.lastLogin
<string> 上次登录时间, 符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")userInfo.lastIP
<string> 用户最近一次登录(或其他活动)的 IPuserInfo.signedUp
<string> 注册时间,符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")userInfo.blocked
<boolean> 账号是否被禁用userInfo.isDeleted
<boolean> 标记账号是否被删除userInfo.device
<string> 设备userInfo.lastIP
<string> 最近登录的 IPuserInfo.name
<string> NameuserInfo.givenName
<string> Given NameuserInfo.familyName
<string> Family NameuserInfo.middleName
<string> Middle NameuserInfo.profile
<string> Profile UrluserInfo.preferredUsername
<string> Preferred NameuserInfo.website
<string> 个人网站userInfo.gender
<string> 性别, M(Man) 表示男性、F(Female) 表示女性、未知表示 U(Unknown)userInfo.birthdate
<string> 生日userInfo.zoneinfo
<string> 时区userInfo.locale
<string> 语言userInfo.address
<string> 地址userInfo.streetAddress
<string> 街道地址userInfo.locality
<string>userInfo.region
<string> 地域userInfo.postalCode
<string> 邮编userInfo.city
<string> 城市userInfo.province
<string> 省份userInfo.country
<string> 国家
# 示例
user = management_client.users.create(
userInfo={
'username': 'bob',
'password': '123456',
'phone': '176xxxx7041', # 由于是管理员操作,所以检验手机号验证码, 如果你需要检验,请使用 AuthenticationClient
'nickname': 'Nick',
'loginsCount': 2, # 原有用户系统记录的用户登录次数
'signedUpd': '2020-10-15T17:55:37+08:00', # 原有用户系统记录的用户注册时间
})
# 修改用户资料
UsersManagementClient *().update(id, updates)
修改用户资料
# 参数
id
<string> 用户 IDupdates
<UpdateUserInput> 修改的用户资料updates.email
<string> 邮箱updates.emailVerified
<boolean> 邮箱是否已验证updates.phone
<string> 手机号updates.phoneVerified
<boolean> 手机号是否验证updates.unionid
<string> 以社会化登录的用户该字段为用户在第三方社会化登录服务商中的唯一 IDupdates.openid
<string> 微信登录返回的 openidupdates.password
<string> 密码updates.registerSource
<string> 注册来源,可以多选updates.tokenExpiredAt
<string> token 过期时间,符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")。 将该字段设置为小于当前时间可以让用户的 token 失效。updates.username
<string> 用户名updates.nickname
<string> 昵称updates.photo
<string> 头像updates.company
<string> 公司updates.browser
<string> 浏览器updates.loginsCount
<number> 登录次数,当你从原有用户系统迁移到 Authing 时可以设置该字段。updates.lastLogin
<string> 上次登录时间, 符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")updates.lastIP
<string> 用户最近一次登录(或其他活动)的 IPupdates.signedUp
<string> 注册时间,符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")updates.blocked
<boolean> 账号是否被禁用updates.device
<string> 设备updates.lastIP
<string> 最近登录的 IPupdates.name
<string> Nameupdates.givenName
<string> Given Nameupdates.familyName
<string> Family Nameupdates.middleName
<string> Middle Nameupdates.profile
<string> Profile Urlupdates.preferredUsername
<string> Preferred Nameupdates.website
<string> 个人网站updates.gender
<string> 性别, M(Man) 表示男性、F(Female) 表示女性、未知表示 U(Unknown)updates.birthdate
<string> 生日updates.zoneinfo
<string> 时区updates.locale
<string> 语言updates.address
<string> 地址updates.streetAddress
<string> 街道地址updates.locality
<string>updates.region
<string> 地域updates.postalCode
<string> 邮编updates.city
<string> 城市updates.province
<string> 省份updates.country
<string> 国家
# 示例
# 获取用户详情
UsersManagementClient().detail(userId)
通过用户 ID 获取用户详情,如果你想通过 token 获取用户详情,请使用 AuthenticationClient SDK 。
# 参数
userId
<string> 用户 ID
# 示例
data = management_client.users.detail(
userId="USERID"
)
# 删除用户
UsersManagementClient().delete(userId)
删除用户
# 参数
userId
<string> 用户 ID
# 示例
data = management_client.users.delete(
userId="USERID1"
)
# 批量删除用户
UsersManagementClient().delete_many(userIds)
批量删除用户
# 参数
userIds
<string[]> 用户 ID 列表
# 示例
data = management_client.users.detail(
userIds=["USERID1", "USERID2"]
)
# 批量获取用户
UsersManagementClient().batch(userIds)
通过 ID 批量获取用户详情
# 参数
userIds
<string[]> 用户 ID 列表
# 示例
data = management_client.users.batch(
userIds=["USERID1", "USERID2"]
)
# 获取用户列表
UsersManagementClient().list(page, limit)
获取用户池用户列表
# 参数
page
<number> 页码数, 从 1 开始 默认值为 :1
。limit
<number> 每页包含的用户数 默认值为 :10
。
# 示例
data = management_client.users.list()
totalCount = data['totalCount'] # 总数
users = data['list'] # 当前页
# 查找用户
UsersManagementClient().find(options)
通过用户名、邮箱、手机号查找用户
# 参数
options
<Object>options.username
<string> 用户名,区分大小写。options.email
<string> 邮箱,邮箱不区分大小写。options.phone
<string> 手机号
# 示例
# 搜索用户
UsersManagementClient().search(query, options, page, limit)
根据关键字搜索用户
# 参数
query
<null> 搜索内容options
<string[]> 选项options.fields
<string[]> 搜索用户字段,如果不指定,默认会从 username、nickname、email、phone、company、name、givenName、familyName、middleName、profile、preferredUsername 这些字段进行模糊搜索。 如果你需要精确查找,请使用 find 方法。page
<number> 默认值为 :1
。limit
<number> 默认值为 :10
。
# 示例
query = 'Bob'
data = management_client.users.search(query=query)
totalCount = data['totalCount'] # 总数
users = data['list'] # 角色列表
# 刷新用户 token
UsersManagementClient().refresh_token(id)
刷新用户 token
# 参数
id
<string> 用户 ID
# 示例
data = management_client.users.refresh_token(
userId="USERID"
)
token, iat, exp = data['token'], data['iat'], data['exp']
# 获取用户分组列表
UsersManagementClient().list_groups(userId)
获取用户的分组列表
# 参数
userId
<string> 用户 ID
# 示例
data = management_client.users.list_groups()
totalCount = data['totalCount'] # 总数
users = data['list'] # 当前页
# 加入分组
UsersManagementClient().add_group(userId, group)
将用户加入分组
# 参数
userId
<string> 用户 IDgroup
<string> 分组 code
# 示例
data = management_client.users.add_group('USER_ID', 'GEOUP_CODE')
code, message = data['code'], data['message']
# 退出分组
UsersManagementClient().remove_group(userId, group)
退出分组
# 参数
userId
<string> 用户 IDgroup
<string> 分组 code
# 示例
data = management_client.users.remove_group('USER_ID', 'GEOUP_CODE')
code, message = data['code'], data['message']
# 获取用户角色列表
UsersManagementClient().list_roles(userId)
获取用户的角色列表
# 参数
userId
<string> 用户 ID
# 示例
data = management_client.users.list_roles()
totalCount = data['totalCount'] # 总数
users = data['list'] # 角色列表
# 添加角色
UsersManagementClient().add_roles(userId, roles)
将用户加入角色
# 参数
userId
<string> 用户 IDroles
<string> 角色 code 列表
# 示例
data = management_client.users.add_roles(
userId='USERID',
roles=['ROLE1', 'ROLE2']
)
totalCount = data['totalCount'] # 最新的总数
users = data['list'] # 最新的角色列表
# 移除角色
UsersManagementClient().remove_roles(userId, roles)
将用户从角色中移除
# 参数
userId
<string> 用户 IDroles
<string> 角色 code 列表
# 示例
data = management_client.users.remove_roles(
userId='USERID',
roles=['ROLE1', 'ROLE2']
)
totalCount = data['totalCount'] # 最新的总数
users = data['list'] # 最新的角色列表