¶ UsersManagementClient
Authing User ManagementClient
This client can create, query, update and delete users, refresh user token, manage user's group, user's role, user's policy and perform other operations.
¶ Create a user
UsersManagementClient().create(userInfo)
This interface uses administrator's privilege to create a user, so it doesn't need to perform security checks such as SMS code verification and other ones.
¶ Parameter
userInfo
<CreateUserInput> user informationuserInfo.email
<string> Email, unique in the user pooluserInfo.emailVerified
<boolean> Whether the email is verifieduserInfo.phone
<string> phone numberuserInfo.phoneVerified
<boolean> Whether the phone number is verifieduserInfo.unionid
<string>For the social login user, this field is the unique ID of the user in the third-party social login identity provideruserInfo.openid
<string> The openid returned by WeChat loginuserInfo.password
<string> passworduserInfo.registerSource
<string> Registration source, you can choose multipleuserInfo.username
<string> usernameuserInfo.nickname
<string> nicknameuserInfo.photo
<string> avataruserInfo.company
<string> companyuserInfo.browser
<string> browseruserInfo.loginsCount
<number> The number of login times. 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 the 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 last login (or other activity) IP of the useruserInfo.signedUp
<string> Registration time, a time string in 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> 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 means male, F means female, U means unknownuserInfo.birthdate
<string> birthdayuserInfo.zoneinfo
<string> timezoneuserInfo.locale
<string> languageuserInfo.address
<string> addressuserInfo.streetAddress
<string> street addressuserInfo.locality
<string>userInfo.region
<string> regionuserInfo.postalCode
<string> zipcodeuserInfo.city
<string> cityuserInfo.province
<string> provinceuserInfo.country
<string> country
¶ Example
user = management_client.users.create(
userInfo={
'username': 'bob',
'password': '123456',
'phone': '188xxxx8888', # Since this is an admin operation, SMS authentication is needed. If you need it, please use AuthenticationClient
'nickname': 'Nick',
'loginsCount': 2, # login counter of the user in original system
'signedUpd': '2020-10-15T17:55:37+08:00', # register time of the user in original system
})
¶ Update user information
UsersManagementClient *().update(id, updates)
Update user information
¶ Parameter
id
<string> user IDupdates
<UpdateUserInput> Modified user informationupdates.email
<string> emailupdates.emailVerified
<boolean> Whether the email is verifiedupdates.phone
<string> phone numberupdates.phoneVerified
<boolean> Whether the phone number is verifiedupdates.unionid
<string> For the social login user, this field is the unique ID of the user in the third-party social login identity providerupdates.openid
<string> The openid returned by WeChat loginupdates.password
<string> passwordupdates.registerSource
<string> Registration source, you can select multipleupdates.tokenExpiredAt
<string> The token expiration time, a time string in 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"). Set the field to be earlier than the current time can make the user's token invalid.updates.username
<string> usernameupdates.nickname
<string> nicknameupdates.photo
<string> avatarupdates.company
<string> companyupdates.browser
<string> browserupdates.loginsCount
<number> The number of login times. This field can be set when you migrate from the original user system to Authing.updates.lastLogin
<string> Last login time, a time string in the 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 in the 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 means male, F means female, U means unknownupdates.birthdate
<string> birthdayupdates.zoneinfo
<string> timezoneupdates.locale
<string> langeageupdates.address
<string> addressupdates.streetAddress
<string> street addressupdates.locality
<string>updates.region
<string> regionupdates.postalCode
<string> zipcodeupdates.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.
¶ Parameter
userId
<string> user ID
¶ Example
data = management_client.users.detail(
userId="60b4a136d9xxxxcc3d87e55a"
)
¶ Delete a user
UsersManagementClient().delete(userId)
Delete a user
¶ Parameter
userId
<string> user ID
¶ Example
data = management_client.users.delete(
userId="USERID1"
)
¶ Batch delete users
UsersManagementClient().delete_many(userIds)
Delete users in bulk.
¶ Parameter
userIds
<string[]> user ID list
¶ Example
data = management_client.users.detail(
userIds=["USERID1", "USERID2"]
)
¶ Batch get users
UsersManagementClient().batch(userIds)
Batch get user details by ID
¶ Parameter
userIds
<string[]> user ID list
¶ Example
data = management_client.users.batch(
userIds=["USERID1", "USERID2"]
)
¶ Get user list
UsersManagementClient().list(page, limit)
Get the user list in the user pool.
¶ Parameter
page
<number> Page number, starting from 1. The default value is:1
.limit
<number> The number of users per page. The default value is:10
.
¶ Example
data = management_client.users.list()
totalCount = data['totalCount'] # total amount of users
users = data['list'] # current page
¶ Find a user
UsersManagementClient().find(options)
Find a user by username, email, and phone number.
¶ Parameter
options
<Object>options.username
<string> User name, case sensitive.options.email
<string> The email address, which is not case sensitive.options.phone
<string> phone number
¶ Example
¶ Search users
UsersManagementClient().search(query, options, page, limit)
Search users based on keywords.
¶ Parameter
query
<null> search contentoptions
<string[]> search optionsoptions.fields
<string[]> Search user fields. If not specified, the default will be fuzzy search fromusername
,nickname
,email
,phone
,company
,name
,givenName
,familyName
,middleName
,profile
andpreferredUsername
fields. If you need a precise search, please use thefind
method.page
<number> The default value is:1
.limit
<number> The default value is:10
.
¶ Example
query = 'Bob'
data = management_client.users.search(query=query)
totalCount = data['totalCount'] # total amount of users
users = data['list'] # role list
¶ Refresh user token
UsersManagementClient().refresh_token(id)
Refresh user token
¶ Parameter
id
<string> user ID
¶ Example
data = management_client.users.refresh_token(
userId="60b4a136d9xxxxcc3d87e55a"
)
token, iat, exp = data['token'], data['iat'], data['exp']
¶ Get user group list
UsersManagementClient().list_groups(userId)
Get user group list
¶ Parameter
userId
<string> user ID
¶ Example
data = management_client.users.list_groups()
totalCount = data['totalCount'] # total amount of user group
users = data['list'] # current page
¶ Join a group
UsersManagementClient().add_group(userId, group)
Add a user to a group.
¶ Parameter
userId
<string> user IDgroup
<string> group code
¶ Example
data = management_client.users.add_group('USER_ID', 'GEOUP_CODE')
code, message = data['code'], data['message']
¶ Quit a group
UsersManagementClient().remove_group(userId, group)
Remove the user from a group.
¶ Parameter
userId
<string> user IDgroup
<string> group code
¶ Example
data = management_client.users.remove_group('USER_ID', 'GEOUP_CODE')
code, message = data['code'], data['message']
¶ Get user role list
UsersManagementClient().list_roles(userId)
Get user role list.
¶ Parameter
userId
<string> user ID
¶ Example
data = management_client.users.list_roles()
totalCount = data['totalCount'] # total amount of roles
users = data['list'] # role list
¶ Add roles
UsersManagementClient().add_roles(userId, roles)
Add roles to the user.
¶ Parameter
userId
<string> user IDroles
<string> role code list
¶ Example
data = management_client.users.add_roles(
userId='60b4a136d9xxxxcc3d87e55a',
roles=['ROLE1', 'ROLE2']
)
totalCount = data['totalCount'] # the latest amount
users = data['list'] # latest role list
¶ Remove roles
UsersManagementClient().remove_roles(userId, roles)
Remove roles from the user.
¶ Parameter
userId
<string> user IDroles
<string> role code list
¶ Example
data = management_client.users.remove_roles(
userId='60b4a136d9xxxxcc3d87e55a',
roles=['ROLE1', 'ROLE2']
)
totalCount = data['totalCount'] # the latest amount
users = data['list'] # latest role list