# Manage users
Authing management module.
This module can perform operations such as adding, deleting, modifying and querying user directories, searching for users, refreshing user tokens, managing user groups, managing user roles, and managing user policy authorization.
# Create user
UsersManagementClient().create(userInfo)
This interface will create a user as an administrator and does not require security checks such as mobile phone number verification code verification.
# Parameters
userInfo
<CreateUserInput> user informationuserInfo.email
<string> mailbox, the only one in the user pooluserInfo.emailVerified
<boolean> Is the email verified?userInfo.phone
<string> phone numberuserInfo.phoneVerified
<boolean> Whether the phone number is verifieduserInfo.unionid
<string> For users who log in as social, this field is the unique ID of the user in the third-party social login service provideruserInfo.openid
<string> openid returned by WeChat loginuserInfo.password
<string> passworduserInfo.registerSource
<string> Registration source, you can select multipleuserInfo.username
<string> usernameuserInfo.nickname
<string> nicknameuserInfo.photo
<string> AvataruserInfo.company
<string> companyuserInfo.browser
<string> browseruserInfo.loginsCount
<number> Number of logins, this field can be set when you migrate from the original user system to Authing.userInfo.lastLogin
<string> Last login time, a time string conforming to ISO8601 format. (E.g. "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")userInfo.lastIP
<string> The IP of the user's last login (or other activity)userInfo.signedUp
<string> Registration time, a time string conforming to ISO8601 format. (E.g. "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")userInfo.blocked
<boolean> whether the account is disableduserInfo.isDeleted
<boolean> mark whether the account is deleteduserInfo.device
<string> deviceuserInfo.lastIP
<string> Last logged in 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> personal websiteuserInfo.gender
<string> gender, M stands for male, W stands for female, and U stands for unknown.userInfo.birthdate
<string> birthdayuserInfo.zoneinfo
<string> time zoneuserInfo.locale
<string> languageuserInfo.address
<string> addressuserInfo.streetAddress
<string> street addressuserInfo.locality
<string>userInfo.region
<string> regionuserInfo.postalCode
<string> Zip codeuserInfo.city
<string> cityuserInfo.province
<string> provinceuserInfo.country
<string> country
# Example
user = management_client.users.create(
userInfo={
'username':'bob',
'password': '123456',
'phone': '176xxxx7041', # Since it is an administrator operation, check the mobile phone number verification code, if you need to check, please use AuthenticationClient
'nickname':'Nick',
'loginsCount': 2, # The number of user logins recorded by the original user system
'signedUpd': '2020-10-15T17:55:37+08:00', # User registration time recorded by the original user system
})
# Modify user information
UsersManagementClient *().update(id, updates)
Modify user information
# Parameters
id
<string> User IDupdates
<UpdateUserInput> modified user profileupdates.email
<string> Emailupdates.emailVerified
<boolean> Is the email verified?updates.phone
<string> phone numberupdates.phoneVerified
<boolean> Whether the phone number is verifiedupdates.unionid
<string> For users who log in socially, this field is the user's unique ID in the third-party social login service providerupdates.openid
<string> openid returned by WeChat loginupdates.password
<string> passwordupdates.registerSource
<string> Registration source, you can select multipleupdates.tokenExpiredAt
<string> token expiration time, a time string conforming to the ISO8601 format. (Such as "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00"). Setting this field to be less than the current time can invalidate the user's token.updates.username
<string> usernameupdates.nickname
<string> nicknameupdates.photo
<string> Avatarupdates.company
<string> companyupdates.browser
<string> browserupdates.loginsCount
<number> Number of logins, this field can be set when you migrate from the original user system to Authing.updates.lastLogin
<string> Last login time, a time string conforming to ISO8601 format. (E.g. "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")updates.lastIP
<string> The IP of the user's last login (or other activity)updates.signedUp
<string> Registration time, a time string conforming to ISO8601 format. (E.g. "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")updates.blocked
<boolean> whether the account is disabledupdates.device
<string> deviceupdates.lastIP
<string> Last logged in 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> personal websiteupdates.gender
<string> gender, M stands for male, W stands for female, and U stands for unknown.updates.birthdate
<string> birthdayupdates.zoneinfo
<string> time zoneupdates.locale
<string> languageupdates.address
<string> addressupdates.streetAddress
<string> street addressupdates.locality
<string>updates.region
<string> regionupdates.postalCode
<string> Zip codeupdates.city
<string> cityupdates.province
<string> provinceupdates.country
<string> country
# Example
# Get user details
UsersManagementClient().detail(userId)
Get user details by user ID. If you want to get user details by token, please use AuthenticationClient SDK.
# Parameters
userId
<string> user ID
# Example
data = management_client.users.detail(
userId="USERID"
)
# delete users
UsersManagementClient().delete(userId)
DeleteHousehold
# Parameters
userId
<string> user ID
# Example
data = management_client.users.delete(
userId="USERID1"
)
# Delete users in batch
UsersManagementClient().delete_many(userIds)
Batch delete users
# Parameters
userIds
<string[]> list of user IDs
# Example
data = management_client.users.detail(
userIds=["USERID1", "USERID2"]
)
# Get users in batch
UsersManagementClient().batch(userIds)
Get user details in batches by ID
# Parameters
userIds
<string[]> list of user IDs
# Example
data = management_client.users.batch(
userIds=["USERID1", "USERID2"]
)
# Get user list
UsersManagementClient().list(page, limit)
Get user pool user list
# Parameters
page
<number> Page number, starting from 1 The default value is:1
.limit
<number> The number of users included in each page The default value is10
.
# Example
data = management_client.users.list()
totalCount = data['totalCount'] # total
users = data['list'] # current page
# Find users
UsersManagementClient().find(options)
Find users by username, email, mobile phone number
# Parameters
options
<Object>options.username
<string> User name, case sensitive.options.email
<string> mailbox, the mailbox is not case sensitive.options.phone
<string> phone number
# Example
# Search users
UsersManagementClient().search(query, options, page, limit)
Search users based on keywords
# Parameters
query
<null> search contentoptions
<string[]> optionsoptions.fields
<string[]> Search user fields, if not specified, the default will be fuzzy search from username, nickname, email, phone, company, name, givenName, familyName, middleName, profile, preferredUsername fields . If you need precise search, please use the find method.page
<number> The default value is:1
.limit
<number> The default value is10
.
# Example
query ='Bob'
data = management_client.users.search(query=query)
totalCount = data['totalCount'] # total
users = data['list'] # role list
# Refresh user token
UsersManagementClient().refresh_token(id)
Refresh user token
# Parameters
id
<string> User ID
# Example
data = management_client.users.refresh_token(
userId="USERID"
)
token, iat, exp = data['token'], data['iat'], data['exp']
# Get user group list
UsersManagementClient().list_groups(userId)
Get user group list
# Parameters
userId
<string> user ID
# Example
data = management_client.users.list_groups()
totalCount = data['totalCount'] # total
users = data['list'] # current page
# Join group
UsersManagementClient().add_group(userId, group)
Add users to groups
# Parameters
userId
<string> user IDgroup
<string> group code
# Example
# Exit group
UsersManagementClient().remove_group(userId, group)
Exit group
# Parameters
userId
<string> user IDgroup
<string> group code
# Example
# Get user role list
UsersManagementClient().list_roles(userId)
Get the user's role list
# Parameters
userId
<string> user ID
# Example
data = management_client.users.list_roles()
totalCount = data['totalCount'] # total
users = data['list'] # role list
# Add role
UsersManagementClient().add_roles(userId, roles)
Add users to roles
# Parameters
userId
<string> user IDroles
<string> role code list
# Example
data = management_client.users.add_roles(
userId='USERID',
roles=['ROLE1','ROLE2']
)
totalCount = data['totalCount'] # The latest total
users = data['list'] # The latest role list
# Remove role
UsersManagementClient().remove_roles(userId, roles)
Remove user from role
# Parameters
userId
<string> user IDroles
<string> role code list
# Example
data = management_client.users.remove_roles(
userId='USERID',
roles=['ROLE1','ROLE2']
)
totalCount = data['totalCount'] # The latest total
users = data['list'] # The latest role list