Use GenAuth to extend capabilities for automation
GenAuth has always been committed to improving the openness and scalability of the platform to meet the various personalized needs of different customers for identity authentication and permission management. GenAuth's scalability system currently includes the following forms:
- WebHook allows you to monitor user registration, login, password reset, email verification, user information update and other behaviors. The system will send events to the custom callback address you configured after triggering specific events, so as to do some custom processing on it.
- Pipeline is a set of user-defined JavaScript codes running in the cloud, which allows developers to execute custom codes in the authentication process, add custom id_tokens, very flexible access control, etc.
- Custom database allows GenAuth to interact with your custom database, and can also realize the migration of user data to the cloud without downtime.
Pipeline
Introduction
INFO
For information about the GenAuth user pool version that supports the various benefits of the "Pipeline" function, please check the official website "Price" page. If your version does not support this benefit and you want to try it, you can activate the trial period. For an introduction to the trial period and how to activate it, please check the trial period.
GenAuth Pipeline is a set of user-defined JavaScript codes running in the cloud, which allows developers to extend and customize GenAuth capabilities.
GenAuth Pipeline functions are all user-defined, and we also provide rich function templates to help developers quickly get started with development.
At the same time, Pipeline is a group of functions. The difference from ordinary Hooks is that the function data in the entire process of Pipeline can be passed to each other to achieve the same effect as industrial assembly lines. This design pattern can make the developer's custom functions more modular and easier to manage.
GenAuth Pipeline uses a serverless architecture on the backend. All user-defined codes run in the cloud to ensure isolation between different tenants. At the same time, it can be elastically scaled, which not only ensures security but also improves operating efficiency.

Application scenarios
With GenAuth Pipeline, developers can implement the following functions:
- Whitelist mechanism: such as registered email suffix whitelist, registered IP whitelist, etc.
- Event notification: such as sending group notifications after user registration, user login IP abnormal notification, etc.
- Permission control: such as adding users to a certain user group based on their email addresses after they log in, etc.
- Extend user fields: such as adding custom Metadata to the requesting user.
- Custom token: such as adding custom fields to the token.
- ... and more, the imagination is endless.
Next, let's create your first Pipeline function together!
Create your first Pipeline function
Pipeline functions are custom JavaScript code executed during the GenAuth authentication process. With Pipeline, developers can easily customize and extend the capabilities of GenAuth.
Step 1: Choose a Pipeline template
GenAuth provides many out-of-the-box templates to help you get started quickly.
TIP
You can also view the list of Pipeline template functions here: https://github.com/authing/pipeline. At the same time, you are welcome to use your talents and contribute Pipeline template functions to us.
- Select a trigger scene:

- Select Register email suffix whitelist in access control.

Step 2: Create a Pipeline function
- Here we set the domain name whitelist to
example.com, you can also customize it.

- Click the Create button in the lower left corner. We will deploy this function to the cloud. It will take some time, please be patient.
The page returns to the Pipeline function list page, and you can see the Pipeline function we just added.

TIP
If you have multiple Pipeline functions, you can drag the leftmost button to sort them.
Step 3: Verify whether the whitelist is valid
- First, register with an email address that does not have the suffix
example.com. The system prompts "Access Denied." This is the prompt message we specified in the custom Pipeline function.

- Then register with an email address with the suffix
example.com. Registration is successful!

Step 4: You may also need to
- Read the Pipeline Function Development Guide in detail.
- Learn what request information you can get in the pipe function: user object and context object.
- Learn how to use environment variables in Pipeline.
- Learn about the available Node Modules in the Pipeline function. You can use Node.js/JavaScript directly!
- We provide a lot of rich Pipeline function templates.
- We also provide convenient online debugging methods to facilitate developers to debug online.
Pipeline Function Development Guide
TIP
Pipeline is a group of functions. The difference from ordinary Hooks is that the function data in the entire process of Pipeline can be passed to each other to achieve the same effect as industrial assembly lines. This design pattern can make developers' custom functions more modular and easier to manage.
DANGER
For security reasons, GenAuth will use your user pool ID (userPoolId) and user pool key (secret) to initialize authing-js-sdk in a special way. This process will not send your user pool key to the public network. You can use the global variable authing, **Do not initialize the SDK again! **
Pipeline function type
Currently GenAuth supports six types of Pipeline functions:
| Trigger scenario | Description |
|---|---|
| Before registration | Triggered before each user officially enters the registration logic, user information has not been saved to the database at this time. Developers can customize the user registration process here to implement functions such as registered email whitelist and registered IP whitelist. |
| After registration | Triggered after each user completes the registration logic, user information has been saved to the database at this time. Developers can obtain and customize the extended user registration information here to implement functions such as writing custom Metadata to the database and new user registration webhook notification. |
| Before authentication | Triggered before each user completes authentication, login information has not been written to the database at this time. Developers can customize the user login process here to implement functions such as prohibiting users from logging in during specific time periods and blocking suspicious IP logins. |
| After authentication | Triggered after each user completes authentication, the login information has been written to the database. Developers can obtain and customize the login information of extended users here, write user location information into Metadata, use ui-avatars to generate user avatars, and other functions. |
| Before OIDC ID Token Issuance | Triggered before the OIDC application issues the ID Token (only triggered in authorization code mode, implicit mode, and password mode). Developers can write custom fields to the ID Token here. |
| Before OIDC Access Token Issuance | Triggered before the OIDC application issues the Access Token. Developers can write custom fields to the Access Token here. |
DANGER
Please do not interrupt the normal authentication process in the "after registration" and "after authentication" scenarios, otherwise it will cause inconsistencies between database data and return results, resulting in unexpected errors!
INFO
In the OIDC authentication process, the authorization code mode, implicit mode, password mode, and programmatic access account mode will issue an Access Token and trigger the corresponding Pipeline function.
When using a programmatic access account for authentication, the OIDC ID Token will not be issued, and the corresponding Pipeline function will not be triggered.
INFO
For the detailed process of how an OIDC application uses an authorization code to exchange for an ID Token and an Access Token, please refer to: Using OIDC Authorization.
For the detailed process of using Client ID and Client Secret to exchange Access Token for OIDC programmatic access account, please refer to: M2M Authorization
Function definition
Pipeline function definition:
async function pipe(user, context, callback)Parameter description:
| Parameter | Type | Description |
|---|---|---|
| user | object | Current request user. For detailed description, please refer to user object. |
| context | object | Request authentication context. For detailed description, please refer to context object. |
| callback | function | Callback function, see the following document for usage. |
DANGER
Do not rename the pipe function!
TIP
The user parameter of the Pipeline function triggered before registration is empty because the user object has not been generated at this time.
When using a programmatic access account for authentication, the user parameter of the Pipeline function triggered before the OIDC Access Token is issued is empty because there is no concept of users for programmatic access accounts.
TIP
The pipe function supports async / await syntax!
callback function
Definition:
function callback(error, user, context)When your Pipeline function completes the required processing and needs to return data to the backend of GenAuth, or needs to interrupt the authentication process, you need to call the callback function before the code returns.
Parameter description:
| Parameter | Type | Description |
|---|---|---|
| error | object | Error object. **If not null, the entire authentication process will be interrupted and the error will be directly returned to the frontend. ** |
| user | object | User object as the return value, its value will be used by the backend and used as the parameter of the next Pipeline function. |
| context | object | Context object as the return value, its value will be used by the backend and used as the parameter of the next Pipeline function. |
DANGER
If the error parameter is not null, please be sure to pass the latest user and context to the callback function, otherwise the subsequent Pipeline function will not work properly.
Set asynchronous execution
The pipeline function set to asynchronous execution (asynchronous here is not at the language level) will not block the execution of registration, login, and OIDC processes. The parameters passed in by the callback function have no effect on the subsequent processes. It is suitable for scenarios of asynchronous notification, such as Feishu group notification, DingTalk group notification, triggering external system statistics, etc.
As shown in the figure below, checking this box means that the pipeline function is executed asynchronously:

Pipeline function example
Here we implement a Pre-Register Pipeline for registering email suffix whitelist.
async function pipe(context, callback) {
const email = context.data.userInfo.email;
// Non-email registration method, skip this pipe function
if (!email) {
// Note the parameters
return callback(null, context);
}
// If the domain email address is not example.com, return Access denied. error to the terminal.
if (!email.endsWith("@example.com")) {
return callback(new Error("Access denied."));
}
// Enter the next pipe function (if any)
return callback(null, context);
}Application scenario
TIP
Pipeline allows developers to execute custom code during the authentication process to implement Webhook notifications, extended user fields, access control and other capabilities. If you have good ideas and application scenarios, you are welcome to supplement the template for us.
Webhook notification
Extend user fields
- Add user custom fields
- Change default avatar
- Write the latest location to the user's MetaData every time they log in
- Dynamically generate avatars using the ui-avatars API
- Supplement the user's geographic location information field
- Get the user's repo list through the GitHub API
Access Control
- Register email suffix whitelist
- Dynamically load whitelist through API
- Force email verification before login
- Force phone number verification before login
- Register IP range whitelist
- According to IP Risk score blocks users
- Register mobile phone number whitelist
- Prohibit specific registration/login
- Prohibit registration/login from 3-6 am every Sunday morning due to system maintenance
OIDC authentication process
user object
The user object stores various data of the current user, as well as methods for adding custom fields and custom token fields.
INFO
The user object of the Pre-Register Pipeline contains the information filled in when the user registered, but it is not actually written to the database.
Only supports modifying user information (user object) in the Pipeline before and after authentication. It does not support directly modifying user information in the Pipeline at other nodes (such as before and after token issuance).
Attributes
| Attribute name | Value type | Description |
|---|---|---|
| id | string | User ID |
| username | string | User name |
| string | ||
| emailVerified | boolean | Email verified |
| phone | string | Phone number |
| phoneVerified | boolean | Phone number verified |
| photo | string | Avatar link |
| nickname | string | Nickname |
| gender | string | Gender |
| lastLogin | string | Last login time, in the format of 2020-02-07T04:29:40.877Z |
| company | string | Company name |
| browser | string | Registered browser |
| device | string | Registered device |
| country | string | Country |
| region | string | Region |
| address | string | Address |
Methods
| Method Name | Description | Sample Code |
|---|---|---|
| addCustomData | Add user-defined fields. You need to define preset user-defined fields at the user pool level before you can set them for users in Pipeline. | user.addCustomData("KEY", "VALUE") |
| addIdToken | Set custom fields for ID Token. It can also be used to replace the original ID Token content. **This interface is only available before OIDC ID Token is issued. ** | user.addIdToken("KEY","VALUE") |
| removeIdToken | Delete original or custom fields of ID Token. **This interface is only available before OIDC ID Token is issued. ** | user.removeIdToken("KEY","VALUE") |
| addAccessToken | Set custom fields for Access Token. It can also be used to replace the original Access Token content. **This interface is only available before OIDC Access Token is issued. ** | user.addAccessToken("KEY","VALUE") |
| removeAccessToken | Delete the original or custom fields of Access Token. **This interface is only available before OIDC Access Token is issued. ** | user.removeAccessToken("KEY") |
context object
The context object stores the context of the current authentication process, including authentication methods, identity provider, and request IP, address, etc.
Attributes
| Attribute name | Type | Description | | :---------------- | :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --- | | protocol | string | Authentication protocol. See below for details. | | connection | string | Identity provider. See below for details. | | | userPoolId | string | User pool ID | | userPoolName | string | User pool name | | userPoolMetadata | object | User pool configuration | | appId | string | Current user ID | | appName | string | Current application name | | appMetadata | object | Current application configuration information | | request | object | Detailed information of the current request, including:
ip: Client IP
geo: Client geographic location resolved by IP
body: Request body
query: Query string object, you can get the corresponding query parameter through request.query.xxx | | accessTokenTarget | Enum: programmaticAccount, user | Only has a value in the pipeline before issuing accessToken, indicating whether the current accessToken is issued for programmatic access account or user |
protocol
Authentication protocol.
| Possible values | Description |
|---|---|
| password | Authentication method based on account and password |
| sms | Authentication method based on SMS verification code |
| social | Social login authentication by default, this value is used when logging in using the social login method integrated with GenAuth. |
| ldap | Use LDAP for authentication. For information about how to connect to LDAP, see Configure LDAP Service. |
| saml | Use SAML for authentication. For information about how to connect to SAML, see Connect to SAML. |
| oidc | Use OIDC protocol for authentication. For information about how to connect to OIDC, see Use OIDC Authorization. |
connection
Identity provider.
Possible values Description ldap Login using the LDAP protocol. A GenAuth LDAP service corresponds to a GenAuth user directory or a third-party user directory. For details, see Configuring LDAP Services and Using an LDAP User Directory with GenAuth. saml Use SAML protocol to log in. For how to connect to SAML, see Connect to SAML. oidc Use OIDC protocol authentication. For how to connect to OIDC, see Use OIDC authorization. github Log in with GitHub. For details, see Log in to GitHub. wechat Log in by scanning the QR code on PC WeChat. For details, see Log in by scanning the QR code on PC WeChat. wechat:miniprogram Log in using WeChat Mini Program. For details, see Log in by scanning the QR code on PC WeChat. wechatwork Log in with WeChat for Business. qq Log in with QQ web version. For details, see Log in with QQ. weibo Log in with Weibo web version. For details, see Log in with Weibo. dingtalk Log in using the DingTalk web version. For details, see Log in using DingTalk. alipay Log in using the Alipay APP. For details, see Log in using the mobile APP Alipay .
data object
Before and after registration
Some request fields of the data object in the Pipeline before and after registration are as follows: For details, please see GenAuth GraphQL Debugger User Authentication - Registration interface.
WARNING
Fields such as email, phone, unionid may not exist at the same time. Please check whether they exist before using them! Such as
const email = context.request.body.email;
if (email) {
// Indicates that the registration is done by email
// Logic for whitelisting email registration
if (!email.endsWith("example.com")) {
return callback(new Error("Access Denied!"));
}
}| Field name | Type | Must exist | Description |
|---|---|---|---|
| username | string | No | Username, not empty when registering with username. |
| string | No | Email, not empty when registering with username. | |
| phone | string | No | Mobile number, not empty when registering with mobile number. |
| forceLogin | boolean | no | Whether to automatically perform the login process when registering, the default is false |
| profile | object | yes | User information filled in by the user when registering |
Before authentication, after authentication
The request fields of the data object in the pipeline before and after authentication are as follows:
WARNING
These fields may not all exist, please determine whether they exist before using them!
| Field name | Type | Must exist | Description |
|---|---|---|---|
| username | string | no | Username, not empty when logging in with username. |
| string | no | Email, not empty when logging in with email. | |
| phone | string | no | Mobile number, not empty when logging in with mobile number. |
userPool object
User pool related information
| Field name | Type | Description |
|---|---|---|
| id | string | User pool ID |
| name | string | User pool name |
geo attribute
Sample data:
{
"province": "Beijing",
"city": "Beijing",
"adcode": "110000",
"rectangle": "116.0119343,39.66127144;116.7829835,40.2164962"
}Use environment variables in Pipeline
TIP
The concept of environment variables in Pipeline functions is the same as that of environment variables in the operating system. Developers can obtain them through the global variable env. Environment variables are visible to all Pipelien functions in the application pool.
You can configure environment variables on the Settings - Environment variables page:

Environment variables are a set of Key-Value Pair values that can be used to save WebHook links, keys and other data.
Enter the Key and Value and click Add:

Here, we set an environment variable with the Key as LARK_WEBHOOK. In the Pipeline function, we can get the corresponding Value through env.LARK_WEBHOOK. For example, the following example triggers a Feishu group notification after user registration:
async function pipe(user, context, callback) {
const webhook = env.LARK_WEBHOOK;
await axios.post(webhook, {
title:
"New User Registered - From GenAuth Rules Pipeline",
text: `
User information:
ID: ${user.id}
Nickname: ${user.username}
Registration method: ${user.registerSource}
Email: ${user.email}
Phone number: ${user.phone}
UA: ${user.device}
User pool ID: ${user.userPoolId}
`,
});
return callback(null, user, context);
}Available Node Modules
Currently, the following Node Modules can be used in the GenAuth Pipeline:
- GenAuth SDK for Node.js
- Network request library axios
- lodash
- GenAuth built-in tool set function utils
GenAuth SDK for Node.js
DANGER
For security reasons, GenAuth will be initialized in a special way using your user pool ID (userPoolId) and user pool key (secret) authing-js-sdk, this process will not send your user pool key to the public network. You can use the global variable authing, **do not initialize the SDK again! **
Developers can directly use the authing instance after initialization, no need to initialize manually! GenAuth Pipeline will automatically help developers take care of the initialization process.
As shown below:
async function pipe(user, context, callback) {
// Judge whether the user's mailbox ends with @genauth.ai
if (!user.email.endsWith("@genauth.ai")) {
return callback(null, user, context);
}
try {
// Call API to add a role to the user
await authing.roles.addUsers("ROLE", [user.id]);
} catch (error) {}
callback(null, user, context);
}In addUsers(), we use env.ROOT_GROUP_ID to obtain the group ID through the environment variable, which avoids hard coding. For how to use environment variables in Pipeline functions, see Using Environment Variables. For how to use callbacks and the complete API of Pipeline functions, see Pipeline Function API Documentation.
Network request library
Currently GenAuth supports the use of axios and supports async/await syntax 🚀!
For detailed documentation of axios, please go to its official documentation.
lodash
Developers need to import manually:
const lodash = require("lodash");For detailed documentation, please go to its official documentation.
Built-in tool set utils
GenAuth has some built-in encapsulated practical functions for developers to call directly.
Developers need to import manually:
const utils = require("./utils");Check if the IP is within the IP range
Usage:
utils.ipRangeCheck(IP, [start, end]);The return value is boolean.
Example: The following Pipeline function implements the function of registering an IP range whitelist.
async function pipe(context, callback) {
const utils = require("./utils");
const ip = context.ip;
if (ip && utils.ipRangeCheck(ip, ["110.53.254.1", "110.53.254.255"])) {
return callback(null, context);
}
return callback(new Error("Access Denied!"));
}Other Node built-in modules
GenAuth Pipeline uses the node8 engine, and all node8 built-in modules can be used, such as querystring, etc.
How to debug
This article describes how to use the GenAuth console to debug Pipeline functions.
In the previous step, we have created the first Pipeline function, and let's review the function code:

The function of this Pipeline function is to only allow email registrations with a domain suffix of example.com.
Click the debug button of the Pipeline function:

Click this button to open the debug window: GenAuth will produce corresponding test data based on your user pool.


View log
WARNING
You need to use the GenAuth Pipeline global built-in function log to view the running log, not console.log!
Use the function editor to modify the code and add a line at the beginning of the function: Note that it is log, not console.log.
log(context);
INFO
If there is no log output, please try again a few times!
INFO
We recommend that you use the debugger to debug the code before publishing this function online.
Private deployment
If you want to privately deploy GenAuth (Details here), you need to provide the following information:
- ACCOUNT_ID: Alibaba Cloud account ID. Select Personal avatar in the upper right corner of the Alibaba Cloud console, click Security Settings, and you can get the account ID on this page. For details, please click here.



- REGION: Region, such as cn-beijing, cn-hangzhou.
- ACCESS_KEY_ID: Select Personal Avatar in the upper right corner of the Alibaba Cloud Console, click AccessKey Management, and you can get it on this page.

- ACCESS_KEY_SECRET: Select the personal profile picture in the upper right corner of the Alibaba Cloud console, click AccessKey Management, and you can get it on this page.
- TIMEOUT: The timeout for uploading pipeline functions.
- RETRIES: The maximum number of retries for uploading pipeline functions.
Webhooks
INFO
For information about the GenAuth user pool version that supports the "Webhooks" feature benefit, please check the official website "Pricing" page. If your version does not support this benefit and you want to try it, you can activate the trial period. For an introduction to the trial period and how to activate it, please check Trial Period.
Webhook allows you to monitor user registration, login and other behaviors, so as to do some custom processing on them.
The method to use Webhook is to configure the HTTP URL in the GenAuth platform. When your user logs in, registers, or changes the password, a POST request will be sent to the remote HTTP URL.
Configure Webhooks
On the Automation->Webhooks page, you can manage your defined webhooks:
- Click the Add Webhook button to create a new webhook to subscribe to a specific event.

- Fill in the form and check the webhook event.


- After successful creation, you will enter the webhook list page.

Parameter explanation
| Parameter name | Parameter explanation |
|---|---|
| Name | The name of the currently created webhook |
| Callback link | HTTP URL address for remotely receiving webhook events |
| Request key | After setting the key (the value is determined by the developer), GenAuth will attach this key to each request (HTTP Header: X-GenAuth-Token). You can verify this key to avoid some illegal operations |
| Request data format | Specify the data format of the request body when initiating a Webhook request. The optional values are application/json and application/x-www-form-urlencoded |
| Trigger event | [Please see supported events](#Supported events) |
| Activation | Whether to enable this Hook |
Debug Webhook
The newly created Hook request events are all empty. At this time, you can click "Debug" to trigger a "Test Event":

INFO
Webhook Test

The request data is:
{
"description": "A test from GenAuth Webhook"
}After the test is successful, you will see detailed request information and return information.
Supported Events
Event List
| Event name | Event description | Event parameters |
|---|---|---|
| login | Login event, which is triggered when the user logs in, regardless of whether the login is successful or not. | User information of logged-in users |
| register | Registration event, this event is triggered when a user registers, an administrator manually creates a user, or imports a user | User information of registered users |
| refresh-token | oidc refresh token event | data.user: user information, data.nextIdToken: new idToken, data.nextAccessToken: new accessToken, data.currRefreshToken: current refresh token, data.nextRefreshToken: new refreshToken, if refresh token rotation is not enabled, it will be consistent with currRefreshToken |
| user:created | User creation event, this event is triggered when a user registers, an administrator manually creates a user, or imports a user. The logic is the same as that of register. Generally, you only need to listen to one of the events | User information of created users |
| mfa:verified | MFA verification event, triggered when the user logs in and triggers MFA, and enters the MFA verification code for secondary login, whether successful or not | data.userId: verified user ID, data.isValid: whether verification is successful, data.type: verification type, possible values are OTP, FACE, SMS, EMAIL |
| user:updated | User information modification event, triggered when the user modifies their own information or the administrator manually modifies the user information, whether successful or not | data.user: updated user information, data.updates: updated field object |
| user:udv-changed | User extended information modification event, triggered when the user modifies their own extended information or the administrator manually modifies the user extended information | data.user: user information, data.udv: updated custom field information, data.udf: custom field configuration information |
| user:deleted | Administrator deletes user event | data.users: Deleted user list (for custom database mode, this field is a list of deleted user IDs) |
| user:password-changed | Password change event, this event is triggered when the user changes the password or the administrator manually changes the password, whether it is successful or not | User information of the user whose password is changed |
| user:password-update-remind | User password expires, this event is triggered when a reminder email is sent to the user | data.userpool: User pool information, data.user: User information |
| user:email-verified | User email verified event | data.userId: Verified user ID, data.email: Verified email |
| user:register-whitelist-added | Add registration whitelist event | data.phones: Added phone number list, data.emails: Added email list, data.usernames: Added username list |
| user:register-whitelist-deleted | Delete registration whitelist event | data.phones: Deleted phone number list, data.emails: Deleted email list, data.usernames: Deleted username list |
| permission:add | Add authorization event, the authorization object can be user, role, organizational structure, group | data.policyCodes: Authorized policy code list, data.targetType: Authorized target type, such as user, role, etc., data.userPoolId: User pool ID, data.targetIdentifiers: Authorized target ID list, data.namespace: Policy belongs to permission group |
| permission:revoke | Cancel authorization event, the authorization object can be user, role, organizational structure, group | data.policyCodes: Authorized policy code list, data.targetType: Authorized target type, such as user, role, etc., data.userPoolId: User pool ID, data.targetIdentifiers: authorized target ID list, data.namespace: permission group to which the policy belongs |
| kick | User forced offline event | data.users: list of offline users, data.application: corresponding application information when forced offline from an application |
| privilege-namespace:created | Add permission group event, this event is triggered when the administrator manually creates a permission group, or creates an application to automatically create a permission group | data.namespace: created permission group |
| privilege-namespace:updated | Modify permission group information event | data.namespace: modified permission group, data.updates: updated field object |
| privilege-namespace:deleted | Delete permission group event | data.namespaces: deleted permission group list |
| resource:created | Add resource event | data.resource: added resource, data.namespace: permission group to which the resource belongs |
| resource:delete | Delete resource event | data.codes: deleted resource code list, data.namespace: permission group to which the resource belongs |
| resource:updated | Update resource event | data.resource: updated resource information, data.updates: updated field object |
| role:add | Create role event | data.role: added role, data.namespace: permission group to which the role belongs |
| role:delete | Delete role event | Deleted role ID |
| role:updated | Update role event | data.role: updated role information, data.updates: updated field object |
| role:assigned | Role authorization to subject event | data.userIds: authorized user ID list, data.groupIds: authorized group ID list, data.nodeIds: authorized organization node ID list |
| role:unassigned | Unauthorize role to subject event | data.userIds: authorized user ID list, data.groupIds: authorized group ID list, data.nodeIds: authorized organization node ID list |
| role:udv-changed | Modify role custom field value event | data.role: role information, data.udv: updated custom field information, data.udf: custom field configuration information |
| user:archived | User successfully archived event | data.user: User information after archiving |
| user:unarchived | User successfully unarchived event | data.user: User information after unarchiving |
| user:blocked | User locked event | data.user: User information after locking |
| user:unblocked | User unlocked event | data.user: User information after unlocking |
| user:link-account | User social account binding event | data.primaryUser: Primary account user information (deprecated), data.secondaryUser: Social account user information (deprecated), data.user: User information, data.extIdp: Identity source information, data.identity: Bound social identity source information |
| application:mfa:enabled | Application enables MFA authentication | data.type: Enabled MFA type, data.applicationId: Application ID |
| application:mfa:disabled | Application disables MFA authentication | data.type: Disabled MFA type, data.applicationId: Application ID |
| group:created | Create user group | data.group: Created user group information |
| group:updated | Update user group | data.group: Updated user group, data.updates: updated field object |
| group:deleted | Delete user group | data.id: deleted group ID |
| group:member-added | Add user to user group | data.group: group information, data.users: added user list |
| group:member-removed | Remove user from user group | data.group: group information, data.users: removed user list |
| organization:created | Create top-level department event | data.organization: created department information, data.rootNode: top-level department node information |
| organization:deleted | Delete top-level department | data.organization: deleted department information ID |
| organization:node-added | Create sub-department event | data.node: created department information, data.organization: root department, data.parentNode: parent node |
| organization:node-updated | Modify department information event | data.node: updated department information, data.updates: updated field object |
| organization:node-moved | Move sub-department, this event is triggered when the administrator manually moves a sub-department | data.node: moved department information, data.organization: root department to which the department belongs, data.parentNode: parent department after the move |
| organization:node-deleted | Delete sub-department event | data.nodes: deleted department list |
| organization:member-added | Add member to department | data.node: department added, data.user: user added |
| organization:member-removed | Remove members from a department | data.node: The department to which the removed member belongs, data.user: The removed user |
| organization:udv-changed | Modify department custom field value event | data.department: Department information, data.udv: Updated custom field information, data.udf: Custom field configuration information |
| organization:imported | Import organization tree | data.organization: Imported organization tree, data.source: Import source, possible values are LDAP, ACTIVE_DIRECTORY(Windows AD), WECHATWORK(Enterprise WeChat), DINGTALK(DingTalk), LARK(Feishu), EXCEL(Excel), JSON(json data) |
| organization:tree-updated | Update organization tree | data.organization: Updated organization, data.newNodes: Added nodes, data.modifyNodes: modified nodes, data.removeNodes: removed nodes, data.source: update source, possible values are LDAP, ACTIVE_DIRECTORY(Windows AD), WECHATWORK(Enterprise WeChat), DINGTALK(DingTalk), LARK(Feishu), EXCEL(Excel), JSON(json data) |
| user-pool:cooperator-added | User pool added cooperator event | data.userId: added cooperator user ID, data.policies: added policy code list, |
| user-pool:cooperator-removed | User pool removed cooperator event | data.userId: removed cooperator user ID |
| user-pool:secret-refreshed | Refresh user pool secret key | data.userPool: refresh secret key user pool information, data.secret: User pool secret key after refresh, data.oldSecret: User pool secret key before refresh |
| user-pool:udf-added | Add user or role custom field event | data.udf: Added custom field information |
| user-pool:udf-deleted | Delete user or role custom field event | data.udf: Deleted custom field information |
| user-pool:updated | Update user pool information | data.userPool: Updated user pool information, data.updates: Updated field information |
| user-pool:env-added | Add environment variables | data.envInfo: Added environment variable information |
| user-pool:env-updated | Modify environment variables | data.envInfo: Modified environment variable information |
| user-pool:env-deleted | Delete environment variables | data.envsInfo: List of deleted environment variables |
| user-pool:launchpad-app-installed | Install applications to the application panel | data.applicationIds: List of installed application IDs |
| user-pool:launchpad-app-uninstalled | Uninstall applications from the application panel | data.applicationIds: List of uninstalled application IDs |
| application:created | Create application | data.application: Created application information |
| application:updated | Update application | data.application: Updated application information, data.updates: Updated field object value |
| application:deleted | Delete application | data.application: Deleted application information |
| application:secret-refreshed | Refresh application secret | data.application: Application information of refresh secret, data.secret: Refreshed application secret, data.oldSecret: Application key information before refresh |
Request type
Specifies the data format of the request body when initiating a Webhook request. The optional values are application/json and application/x-www-form-urlencoded.
Attached data
Each event will carry some specific request parameters.
Request headers
We will carry some custom header information in the HTTP POST header, as shown in the following table:
| Header | Description |
|---|---|
user-agent | The value is 'authing-webhook@2.0', indicating that this request comes from GenAuth |
x-authing-webhook-secret | Request secret key, the value is the secret key you set in the Webhook configuration, verifying this secret key can be used to prevent malicious requests from third parties |
x-authing-userpool-id | GenAuth user pool ID |
Request body
The request body will also carry some specific parameters
| Parameter name | Description |
|---|---|
eventName | Event name, possible values are login, register, user:updated,user:password-changed, user:email-verified |
data | Detailed information corresponding to the event |
Request Example
Login event (login)
json{ "id": "6064925fb31803716a9df11f", "createdAt": "2021-03-31T15:16:47.690Z", "updatedAt": "2021-05-31T02:31:35.372Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "test@test.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": null, "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36", "device": "Mac OS", "password": "0a7051ab1ecb0693e171936f8abe366a", "salt": "65ddnbh89fi3", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJiaXJ0aGRhdGUiOm51bGwsImZhbWlseV9uYW1lIjpudWxsLCJnZW5kZXIiOiJVIiwiZ2l2ZW5fbmFtZSI6bnVsbCwibG9jYWxlIjpudWxsLCJtaWRkbGVfbmFtZSI6bnVsbCwibmFtZSI6bnVsbCwibmlja25hbWUiOm51bGwsInBpY3R1cmUiOiJodHRwczovL2ZpbGVzLmF1dGhpbmcuY28vYXV0aGluZy1jb25zb2xlL2RlZmF1bHQtdXNlci1hdmF0YXIucG5nIiwicHJlZmVycmVkX3VzZXJuYW1lIjpudWxsLCJwcm9maWxlIjpudWxsLCJ1cGRhdGVkX2F0IjoiMjAyMS0wNS0yN1QxMTozOTowOC41NTVaIiwid2Vic2l0ZSI6bnVsbCwiem9uZWluZm8iOm51bGwsImFkZHJlc3MiOnsiY291bnRyeSI6bnVsbCwicG9zdGFsX2NvZGUiOm51bGwsInJlZ2lvbiI6bnVsbCwiZm9ybWF0dGVkIjpudWxsfSwicGhvbmVfbnVtYmVyIjpudWxsLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJlbWFpbCI6InRlc3RAdGVzdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImV4dGVybmFsX2lkIjpudWxsLCJ1bmlvbmlkIjpudWxsLCJkYXRhIjp7InR5cGUiOiJ1c2VyIiwidXNlclBvb2xJZCI6IjYwNjQ4ZDRhMmI2OTc1Yjk4NDgyOTMzMSIsImFwcElkIjoiNjA2NDhkNGIxNjBkYzc4M2RkY2FhNGVmIiwiaWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJ1c2VySWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJfaWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJwaG9uZSI6bnVsbCwiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIiwidXNlcm5hbWUiOm51bGwsInVuaW9uaWQiOm51bGwsIm9wZW5pZCI6bnVsbCwiY2xpZW50SWQiOiI2MDY0OGQ0YTJiNjk3NWI5ODQ4MjkzMzEifSwidXNlcnBvb2xfaWQiOiI2MDY0OGQ0YTJiNjk3NWI5ODQ4MjkzMzEiLCJhdWQiOiI2MDY0OGQ0YjE2MGRjNzgzZGRjYWE0ZWYiLCJleHAiOjE2MjM2Mzc4OTUsImlhdCI6MTYyMjQyODI5NSwiaXNzIjoiaHR0cHM6Ly9iZWlnbGZsa2VkaGQtZGVtby5hdXRoaW5nLmNuL29pZGMifQ.J0NvhkjXhOQLSiXXMOi49QYfQbH1isYMFXLQ7cEKZRI", "tokenExpiredAt": "2021-06-14T02:31:35.285Z", "loginsCount": 5, "lastIp": "140.179.88.119", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": null, "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["basic:email"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": "2021-05-31T02:31:35.371Z", "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": null, "signedUp": "2021-03-31T15:16:47.690Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null }Register event (register)
json{ "eventName": "register", "data": { "userPoolId": "60648d4a2b6975b984829331", "email": "register@demo.cm", "browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36", "device": "Mac OS", "password": "14e71d8c2248876f3457baf48ae4ed7d", "salt": "74oc2678764", "registerSource": ["basic:email"], "encryptedPassword": "TqESUBH5Ti1zOqTGqpXH9Op/B6sZi6ETFY/CL0iwzVkICtgkE4TK9wznGzcCg+SReg3wPFRn/4J0NrLOHDKUzr+rl0jkW1Wfnoi3WzqgbsrRp5hrROdAOeFODbtPMWD6I0SzgGSUznrBZw7p2oKC2KEC1MuLZRf3rVI/mXpluF8=", "passwordSecurityLevel": 1, "createdAt": "2021-05-31T02:36:01.657Z", "updatedAt": "2021-05-31T02:36:01.657Z", "id": "60b44b916d92a4f5fc6ffdce", "oauth": null, "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": null, "photo": "default-user-avatar.png", "token": null, "tokenExpiredAt": null, "lastIp": null, "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "birthdate": null, "zoneinfo": null, "locale": null, "address": null, "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "secretInfo": null, "lastLogin": null, "dataVersion": null, "signedUp": null, "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "source": null, "isRoot": false, "status": "Activated", "loginsCount": 0, "gender": "U", "emailVerified": false, "phoneVerified": false, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "resetPasswordOnFirstLogin": false, "_id": "60b44b916d92a4f5fc6ffdce", "registerMethod": "basic:email", "registerInClient": "60648d4a2b6975b984829331", "lastIP": null } }Create user event (user:created)
json{ "eventName": "user:created", "data": { "userPoolId": "60648d4a2b6975b984829331", "email": "register@demo.cm", "browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36", "device": "Mac OS", "password": "14e71d8c2248876f3457baf48ae4ed7d", "salt": "74oc2678764", "registerSource": ["basic:email"], "encryptedPassword": "TqESUBH5Ti1zOqTGqpXH9Op/B6sZi6ETFY/CL0iwzVkICtgkE4TK9wznGzcCg+SReg3wPFRn/4J0NrLOHDKUzr+rl0jkW1Wfnoi3WzqgbsrRp5hrROdAOeFODbtPMWD6I0SzgGSUznrBZw7p2oKC2KEC1MuLZRf3rVI/mXpluF8=", "passwordSecurityLevel": 1, "createdAt": "2021-05-31T02:36:01.657Z", "updatedAt": "2021-05-31T02:36:01.657Z", "id": "60b44b916d92a4f5fc6ffdce", "oauth": null, "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": null, "photo": "default-user-avatar.png", "token": null, "tokenExpiredAt": null, "lastIp": null, "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "birthdate": null, "zoneinfo": null, "locale": null, "address": null, "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "secretInfo": null, "lastLogin": null, "dataVersion": null, "signedUp": null, "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "source": null, "isRoot": false, "status": "Activated", "loginsCount": 0, "gender": "U", "emailVerified": false, "phoneVerified": false, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "resetPasswordOnFirstLogin": false, "_id": "60b44b916d92a4f5fc6ffdce", "registerMethod": "basic:email", "registerInClient": "60648d4a2b6975b984829331", "lastIP": null } }MFA verification event (mfa:verified)
{
"eventName": "mfa:verified",
"data": {
"userId": "6064925fb31803716a9df11f",
"isValid": false,
"type": "EMAIL"
}
}User information modification event (user:updated)
json{ "eventName": "user:updated", "data": { "user": { "id": "6064925fb31803716a9df11f", "createdAt": "2021-03-31T15:16:47.690Z", "updatedAt": "2021-05-31T03:37:10.247Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "test@test.com", "phone": null, "username": "my username", "unionid": null, "openid": null, "nickname": null, "company": null, "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36", "device": "Mac OS", "password": "0a7051ab1ecb0693e171936f8abe366a", "salt": "65ddnbh89fi3", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJiaXJ0aGRhdGUiOm51bGwsImZhbWlseV9uYW1lIjpudWxsLCJnZW5kZXIiOiJVIiwiZ2l2ZW5fbmFtZSI6bnVsbCwibG9jYWxlIjpudWxsLCJtaWRkbGVfbmFtZSI6bnVsbCwibmFtZSI6bnVsbCwibmlja25hbWUiOm51bGwsInBpY3R1cmUiOiJodHRwczovL2ZpbGVzLmF1dGhpbmcuY28vYXV0aGluZy1jb25zb2xlL2RlZmF1bHQtdXNlci1hdmF0YXIucG5nIiwicHJlZmVycmVkX3VzZXJuYW1lIjpudWxsLCJwcm9maWxlIjpudWxsLCJ1cGRhdGVkX2F0IjoiMjAyMS0wNS0zMVQwMzozMzo1NC43NTVaIiwid2Vic2l0ZSI6bnVsbCwiem9uZWluZm8iOm51bGwsImFkZHJlc3MiOnsiY291bnRyeSI6bnVsbCwicG9zdGFsX2NvZGUiOm51bGwsInJlZ2lvbiI6bnVsbCwiZm9ybWF0dGVkIjpudWxsfSwicGhvbmVfbnVtYmVyIjpudWxsLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJlbWFpbCI6InRlc3RAdGVzdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImV4dGVybmFsX2lkIjpudWxsLCJ1bmlvbmlkIjpudWxsLCJkYXRhIjp7InR5cGUiOiJ1c2VyIiwidXNlclBvb2xJZCI6IjYwNjQ4ZDRhMmI2OTc1Yjk4NDgyOTMzMSIsImFwcElkIjoiNjA2NDhkNGIxNjBkYzc4M2RkY2FhNGVmIiwiaWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJ1c2VySWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJfaWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJwaG9uZSI6bnVsbCwiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIiwidXNlcm5hbWUiOm51bGwsInVuaW9uaWQiOm51bGwsIm9wZW5pZCI6bnVsbCwiY2xpZW50SWQiOiI2MDY0OGQ0YTJiNjk3NWI5ODQ4MjkzMzEifSwidXNlcnBvb2xfaWQiOiI2MDY0OGQ0YTJiNjk3NWI5ODQ4MjkzMzEiLCJhdWQiOiI2MDY0OGQ0YjE2MGRjNzgzZGRjYWE0ZWYiLCJleHAiOjE2MjM2NDE4MDcsImlhdCI6MTYyMjQzMjIwNywiaXNzIjoiaHR0cHM6Ly9iZWlnbGZsa2VkaGQtZGVtby5hdXRoaW5nLmNuL29pZGMifQ.yE8eFnW3Xl60riijKVhMXlaXOrrvWQh9koT9GNzyFsE", "tokenExpiredAt": "2021-06-14T03:36:47.029Z", "loginsCount": 7, "lastIp": "140.179.88.119", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": null, "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["basic:email"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": "2021-05-31T03:36:47.109Z", "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": null, "signedUp": "2021-03-31T15:16:47.690Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null }, "updates": { "username": "my username" } } }Modify user extended information event (user:udv-changed)
json{ "eventName": "user:udv-changed", "data": { "user": { "id": "6064925fb31803716a9df11f", "createdAt": "2021-03-31T15:16:47.690Z", "updatedAt": "2021-05-31T03:37:10.247Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "test@test.com", "phone": null, "username": "my username", "unionid": null, "openid": null, "nickname": null, "company": null, "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36", "device": "Mac OS", "password": "0a7051ab1ecb0693e171936f8abe366a", "salt": "65ddnbh89fi3", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJiaXJ0aGRhdGUiOm51bGwsImZhbWlseV9uYW1lIjpudWxsLCJnZW5kZXIiOiJVIiwiZ2l2ZW5fbmFtZSI6bnVsbCwibG9jYWxlIjpudWxsLCJtaWRkbGVfbmFtZSI6bnVsbCwibmFtZSI6bnVsbCwibmlja25hbWUiOm51bGwsInBpY3R1cmUiOiJodHRwczovL2ZpbGVzLmF1dGhpbmcuY28vYXV0aGluZy1jb25zb2xlL2RlZmF1bHQtdXNlci1hdmF0YXIucG5nIiwicHJlZmVycmVkX3VzZXJuYW1lIjpudWxsLCJwcm9maWxlIjpudWxsLCJ1cGRhdGVkX2F0IjoiMjAyMS0wNS0zMVQwMzozMzo1NC43NTVaIiwid2Vic2l0ZSI6bnVsbCwiem9uZWluZm8iOm51bGwsImFkZHJlc3MiOnsiY291bnRyeSI6bnVsbCwicG9zdGFsX2NvZGUiOm51bGwsInJlZ2lvbiI6bnVsbCwiZm9ybWF0dGVkIjpudWxsfSwicGhvbmVfbnVtYmVyIjpudWxsLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJlbWFpbCI6InRlc3RAdGVzdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImV4dGVybmFsX2lkIjpudWxsLCJ1bmlvbmlkIjpudWxsLCJkYXRhIjp7InR5cGUiOiJ1c2VyIiwidXNlclBvb2xJZCI6IjYwNjQ4ZDRhMmI2OTc1Yjk4NDgyOTMzMSIsImFwcElkIjoiNjA2NDhkNGIxNjBkYzc4M2RkY2FhNGVmIiwiaWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJ1c2VySWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJfaWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJwaG9uZSI6bnVsbCwiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIiwidXNlcm5hbWUiOm51bGwsInVuaW9uaWQiOm51bGwsIm9wZW5pZCI6bnVsbCwiY2xpZW50SWQiOiI2MDY0OGQ0YTJiNjk3NWI5ODQ4MjkzMzEifSwidXNlcnBvb2xfaWQiOiI2MDY0OGQ0YTJiNjk3NWI5ODQ4MjkzMzEiLCJhdWQiOiI2MDY0OGQ0YjE2MGRjNzgzZGRjYWE0ZWYiLCJleHAiOjE2MjM2NDE4MDcsImlhdCI6MTYyMjQzMjIwNywiaXNzIjoiaHR0cHM6Ly9iZWlnbGZsa2VkaGQtZGVtby5hdXRoaW5nLmNuL29pZGMifQ.yE8eFnW3Xl60riijKVhMXlaXOrrvWQh9koT9GNzyFsE", "tokenExpiredAt": "2021-06-14T03:36:47.029Z", "loginsCount": 7, "lastIp": "140.179.88.119", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": null, "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["basic:email"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": "2021-05-31T03:36:47.109Z", "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": null, "signedUp": "2021-03-31T15:16:47.690Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null }, "udv": { "userPoolId": "60648d4a2b6975b984829331", "udfId": "606da5ab11aa15e013967a63", "targetId": "6064925fb31803716a9df11f", "createdAt": "2021-05-31T03:39:33.860Z", "updatedAt": "2021-05-31T03:39:33.860Z", "id": "60b45a7541629777e12017ab" }, "udf": { "id": "606da5ab11aa15e013967a63", "createdAt": "2021-04-07T12:29:31.973Z", "updatedAt": "2021-04-07T12:29:31.973Z", "userPoolId": "60648d4a2b6975b984829331", "targetType": "USER", "key": "kkkkkkk", "label": "水电费水电费", "dataType": "STRING", "options": null } } }创建顶级部门事件(organization:created)
json{ "eventName": "organization:created", "data": { "organization": { "userPoolId": "60648d4a2b6975b984829331", "createdAt": "2021-05-31T03:41:17.145Z", "updatedAt": "2021-05-31T03:41:17.210Z", "id": "60b45addc7b3f1abc56a0871", "rootNodeId": "60b45add37e9a56f744ca8f6", "logo": null, "thirdPartyOrgId": null }, "rootNode": { "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b45addc7b3f1abc56a0871", "name": "Testing Department", "createdAt": "2021-05-31T03:41:17.153Z", "updatedAt": "2021-05-31T03:41:17.153Z", "id": "60b45add37e9a56f744ca8f6", "nameI18n": null, "description": null, "descriptionI18n": null, "order": null, "code": null, "__id": null, "__parentid": null, "__groupid": null, "source": null, "dataVersion": null, "sourceData": null } } }Delete top-level department event (organization:deleted)
{
"eventName": "organization:deleted",
"data": {
"organization": {
"id": "60b45addc7b3f1abc56a0871",
"createdAt": "2021-05-31T03:41:17.145Z",
"updatedAt": "2021-05-31T03:41:17.210Z",
"userPoolId": "60648d4a2b6975b984829331",
"rootNodeId": "60b45add37e9a56f744ca8f6",
"logo": null,
"thirdPartyOrgId": null
}
}
}- Create a sub-department event (organization:node-added)
{
"eventName": "organization:node-added",
"data": {
"organization": {
"id": "60b45beb4cdddf8e448bd2e2",
"createdAt": "2021-05-31T03:45:47.193Z",
"updatedAt": "2021-05-31T03:45:47.277Z",
"userPoolId": "60648d4a2b6975b984829331",
"rootNodeId": "60b45bebd8521f7dabb7e9d0",
"logo": null,
"thirdPartyOrgId": null
},
"node": {
"id": "60b45c91ddcc92c4ef4193a7",
"userPoolId": "60648d4a2b6975b984829331",
"orgId": "60b45beb4cdddf8e448bd2e2",
"name": "Sub-level department testing",
"nameI18n": null,
"descriptionI18n": null,
"source": [],
"createdAt": "2021-05-31T03:48:33.649Z",
"updatedAt": "2021-05-31T03:48:33.649Z",
"description": null,
"order": null,
"code": null,
"__id": null,
"__parentid": null,
"__groupid": null,
"dataVersion": null,
"sourceData": null
},
"parentNode": {
"id": "60b45bebd8521f7dabb7e9d0",
"createdAt": "2021-05-31T03:45:47.269Z",
"updatedAt": "2021-05-31T03:45:56.384Z",
"userPoolId": "60648d4a2b6975b984829331",
"orgId": "60b45beb4cdddf8e448bd2e2",
"name": "Test Department Update",
"nameI18n": null,
"description": "",
"descriptionI18n": null,
"order": null,
"code": null,
"__id": null,
"__parentid": null,
"__groupid": null,
"source": null,
"dataVersion": null,
"sourceData": null
}
}
}- Modify department information event (organization:node-updated)
{
"eventName": "organization:node-updated",
"data": {
"node": {
"id": "60b45c91ddcc92c4ef4193a7",
"createdAt": "2021-05-31T03:48:33.649Z",
"updatedAt": "2021-05-31T03:52:07.891Z",
"userPoolId": "60648d4a2b6975b984829331",
"orgId": "60b45beb4cdddf8e448bd2e2",
"name": "Subordinate department testing update",
"nameI18n": null,
"description": "",
"descriptionI18n": null,
"order": null,
"code": null,
"__id": null,
"__parentid": null,
"__groupid": null,
"source": [],
"dataVersion": null,
"sourceData": null
},
"updates": {
"name": "Subordinate department testing update",
"description": ""
}
}
}- Move sub-department event (organization:node-moved)
{
"eventName": "organization:node-moved",
"data": {
"organization": {
"id": "60b45beb4cdddf8e448bd2e2",
"createdAt": "2021-05-31T03:45:47.193Z",
"updatedAt": "2021-05-31T03:45:47.277Z",
"userPoolId": "60648d4a2b6975b984829331",
"rootNodeId": "60b45bebd8521f7dabb7e9d0",
"logo": null,
"thirdPartyOrgId": null
},
"node": {
"id": "60b45c91ddcc92c4ef4193a7",
"createdAt": "2021-05-31T03:48:33.649Z",
"updatedAt": "2021-05-31T03:52:07.891Z",
"userPoolId": "60648d4a2b6975b984829331",
"orgId": "60b45beb4cdddf8e448bd2e2",
"name": "Subordinate department testing update",
"nameI18n": null,
"description": "",
"descriptionI18n": null,
"order": null,
"code": null,
"__id": null,
"__parentid": null,
"__groupid": null,
"source": [],
"dataVersion": null,
"sourceData": null
},
"parentNode": {
"id": "60b476ff97b921062f4d9d94",
"createdAt": "2021-05-31T05:41:19.978Z",
"updatedAt": "2021-05-31T05:41:19.978Z",
"userPoolId": "60648d4a2b6975b984829331",
"orgId": "60b45beb4cdddf8e448bd2e2",
"name": "New Parent Department",
"nameI18n": null,
"description": null,
"descriptionI18n": null,
"order": null,
"code": null,
"__id": null,
"__parentid": null,
"__groupid": null,
"source": [],
"dataVersion": null,
"sourceData": null
},
"oldParent": {
"id": "60b45bebd8521f7dabb7e9d0",
"createdAt": "2021-05-31T03:45:47.269Z",
"updatedAt": "2021-05-31T03:45:56.384Z",
"userPoolId": "60648d4a2b6975b984829331",
"orgId": "60b45beb4cdddf8e448bd2e2",
"name": "Test Department Update",
"nameI18n": null,
"description": "",
"descriptionI18n": null,
"order": null,
"code": null,
"__id": null,
"__parentid": null,
"__groupid": null,
"source": null,
"dataVersion": null,
"sourceData": null
}
}
}- Delete sub-department event (organization:node-deleted)
{
"eventName": "organization:node-deleted",
"data": {
"nodes": [
{
"id": "60b45c91ddcc92c4ef4193a7",
"createdAt": "2021-05-31T03:48:33.649Z",
"updatedAt": "2021-05-31T03:52:07.891Z",
"userPoolId": "60648d4a2b6975b984829331",
"orgId": "60b45beb4cdddf8e448bd2e2",
"name": "Subordinate department testing update",
"nameI18n": null,
"description": "",
"descriptionI18n": null,
"order": null,
"code": null,
"__id": null,
"__parentid": null,
"__groupid": null,
"source": [],
"dataVersion": null,
"sourceData": null
}
]
}
}- Add members to a department (organization:member-added)
{
"eventName": "organization:member-added",
"data": {
"user": {
"id": "6064925fb31803716a9df11f",
"createdAt": "2021-03-31T15:16:47.690Z",
"updatedAt": "2021-05-31T03:37:10.247Z",
"userPoolId": "60648d4a2b6975b984829331",
"isRoot": false,
"status": "Activated",
"oauth": null,
"email": "test@test.com",
"phone": null,
"username": "my username",
"unionid": null,
"openid": null,
"nickname": null,
"company": null,
"photo": "https://files.authing.co/authing-console/default-user-avatar.png",
"browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36",
"device": "Mac OS",
"password": "0a7051ab1ecb0693e171936f8abe366a",
"salt": "65ddnbh89fi3",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJiaXJ0aGRhdGUiOm51bGwsImZhbWlseV9uYW1lIjpudWxsLCJnZW5kZXIiOiJVIiwiZ2l2ZW5fbmFtZSI6bnVsbCwibG9jYWxlIjpudWxsLCJtaWRkbGVfbmFtZSI6bnVsbCwibmFtZSI6bnVsbCwibmlja25hbWUiOm51bGwsInBpY3R1cmUiOiJodHRwczovL2ZpbGVzLmF1dGhpbmcuY28vYXV0aGluZy1jb25zb2xlL2RlZmF1bHQtdXNlci1hdmF0YXIucG5nIiwicHJlZmVycmVkX3VzZXJuYW1lIjpudWxsLCJwcm9maWxlIjpudWxsLCJ1cGRhdGVkX2F0IjoiMjAyMS0wNS0zMVQwMzozMzo1NC43NTVaIiwid2Vic2l0ZSI6bnVsbCwiem9uZWluZm8iOm51bGwsImFkZHJlc3MiOnsiY291bnRyeSI6bnVsbCwicG9zdGFsX2NvZGUiOm51bGwsInJlZ2lvbiI6bnVsbCwiZm9ybWF0dGVkIjpudWxsfSwicGhvbmVfbnVtYmVyIjpudWxsLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJlbWFpbCI6InRlc3RAdGVzdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImV4dGVybmFsX2lkIjpudWxsLCJ1bmlvbmlkIjpudWxsLCJkYXRhIjp7InR5cGUiOiJ1c2VyIiwidXNlclBvb2xJZCI6IjYwNjQ4ZDRhMmI2OTc1Yjk4NDgyOTMzMSIsImFwcElkIjoiNjA2NDhkNGIxNjBkYzc4M2RkY2FhNGVmIiwiaWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJ1c2VySWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJfaWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJwaG9uZSI6bnVsbCwiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIiwidXNlcm5hbWUiOm51bGwsInVuaW9uaWQiOm51bGwsIm9wZW5pZCI6bnVsbCwiY2xpZW50SWQiOiI2MDY0OGQ0YTJiNjk3NWI5ODQ4MjkzMzEifSwidXNlcnBvb2xfaWQiOiI2MDY0OGQ0YTJiNjk3NWI5ODQ4MjkzMzEiLCJhdWQiOiI2MDY0OGQ0YjE2MGRjNzgzZGRjYWE0ZWYiLCJleHAiOjE2MjM2NDE4MDcsImlhdCI6MTYyMjQzMjIwNywiaXNzIjoiaHR0cHM6Ly9iZWlnbGZsa2VkaGQtZGVtby5hdXRoaW5nLmNuL29pZGMifQ.yE8eFnW3Xl60riijKVhMXlaXOrrvWQh9koT9GNzyFsE",
"tokenExpiredAt": "2021-06-14T03:36:47.029Z",
"loginsCount": 7,
"lastIp": "140.179.88.119",
"name": null,
"givenName": null,
"familyName": null,
"middleName": null,
"profile": null,
"preferredUsername": null,
"website": null,
"gender": "U",
"birthdate": null,
"zoneinfo": null,
"locale": null,
"address": null,
"formatted": null,
"streetAddress": null,
"locality": null,
"region": null,
"postalCode": null,
"city": null,
"province": null,
"country": null,
"registerSource": ["basic:email"],
"secretInfo": null,
"emailVerified": false,
"phoneVerified": false,
"lastLogin": "2021-05-31T03:36:47.109Z",
"blocked": false,
"isDeleted": false,
"sendSmsCount": 0,
"sendSmsLimitCount": 1000,
"dataVersion": null,
"encryptedPassword": null,
"signedUp": "2021-03-31T15:16:47.690Z",
"externalId": null,
"mainDepartmentId": null,
"mainDepartmentCode": null,
"lastMfaTime": null,
"passwordSecurityLevel": 1,
"resetPasswordOnFirstLogin": false,
"source": null
},
"node": {
"id": "60b476ff97b921062f4d9d94",
"createdAt": "2021-05-31T05:41:19.978Z",
"updatedAt": "2021-05-31T05:41:19.978Z",
"userPoolId": "60648d4a2b6975b984829331",
"orgId": "60b45beb4cdddf8e448bd2e2",
"name": "New Parent Department",
"nameI18n": null,
"description": null,
"descriptionI18n": null,
"order": null,
"code": null,
"__id": null,
"__parentid": null,
"__groupid": null,
"source": [],
"dataVersion": null,
"sourceData": null
}
}
}Remove a member from a department (organization:member-removed)
json{ "eventName": "organization:member-removed", "data": { "user": { "id": "6064925fb31803716a9df11f", "createdAt": "2021-03-31T15:16:47.690Z", "updatedAt": "2021-05-31T03:37:10.247Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "test@test.com", "phone": null, "username": "my username", "unionid": null, "openid": null, "nickname": null, "company": null, "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36", "device": "Mac OS", "password": "0a7051ab1ecb0693e171936f8abe366a", "salt": "65ddnbh89fi3", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJiaXJ0aGRhdGUiOm51bGwsImZhbWlseV9uYW1lIjpudWxsLCJnZW5kZXIiOiJVIiwiZ2l2ZW5fbmFtZSI6bnVsbCwibG9jYWxlIjpudWxsLCJtaWRkbGVfbmFtZSI6bnVsbCwibmFtZSI6bnVsbCwibmlja25hbWUiOm51bGwsInBpY3R1cmUiOiJodHRwczovL2ZpbGVzLmF1dGhpbmcuY28vYXV0aGluZy1jb25zb2xlL2RlZmF1bHQtdXNlci1hdmF0YXIucG5nIiwicHJlZmVycmVkX3VzZXJuYW1lIjpudWxsLCJwcm9maWxlIjpudWxsLCJ1cGRhdGVkX2F0IjoiMjAyMS0wNS0zMVQwMzozMzo1NC43NTVaIiwid2Vic2l0ZSI6bnVsbCwiem9uZWluZm8iOm51bGwsImFkZHJlc3MiOnsiY291bnRyeSI6bnVsbCwicG9zdGFsX2NvZGUiOm51bGwsInJlZ2lvbiI6bnVsbCwiZm9ybWF0dGVkIjpudWxsfSwicGhvbmVfbnVtYmVyIjpudWxsLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJlbWFpbCI6InRlc3RAdGVzdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImV4dGVybmFsX2lkIjpudWxsLCJ1bmlvbmlkIjpudWxsLCJkYXRhIjp7InR5cGUiOiJ1c2VyIiwidXNlclBvb2xJZCI6IjYwNjQ4ZDRhMmI2OTc1Yjk4NDgyOTMzMSIsImFwcElkIjoiNjA2NDhkNGIxNjBkYzc4M2RkY2FhNGVmIiwiaWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJ1c2VySWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJfaWQiOiI2MDY0OTI1ZmIzMTgwMzcxNmE5ZGYxMWYiLCJwaG9uZSI6bnVsbCwiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIiwidXNlcm5hbWUiOm51bGwsInVuaW9uaWQiOm51bGwsIm9wZW5pZCI6bnVsbCwiY2xpZW50SWQiOiI2MDY0OGQ0YTJiNjk3NWI5ODQ4MjkzMzEifSwidXNlcnBvb2xfaWQiOiI2MDY0OGQ0YTJiNjk3NWI5ODQ4MjkzMzEiLCJhdWQiOiI2MDY0OGQ0YjE2MGRjNzgzZGRjYWE0ZWYiLCJleHAiOjE2MjM2NDE4MDcsImlhdCI6MTYyMjQzMjIwNywiaXNzIjoiaHR0cHM6Ly9iZWlnbGZsa2VkaGQtZGVtby5hdXRoaW5nLmNuL29pZGMifQ.yE8eFnW3Xl60riijKVhMXlaXOrrvWQh9koT9GNzyFsE", "tokenExpiredAt": "2021-06-14T03:36:47.029Z", "loginsCount": 7, "lastIp": "140.179.88.119", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": null, "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["basic:email"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": "2021-05-31T03:36:47.109Z", "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": null, "signedUp": "2021-03-31T15:16:47.690Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null, "identities": [] }, "node": { "id": "60b476ff97b921062f4d9d94", "createdAt": "2021-05-31T05:41:19.978Z", "updatedAt": "2021-05-31T05:41:19.978Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b45beb4cdddf8e448bd2e2", "name": "New Parent Department", "nameI18n": null, "description": null, "descriptionI18n": null, "order": null, "code": null, "__id": null, "__parentid": null, "__groupid": null, "source": [], "dataVersion": null, "sourceData": null } } }Import the organization tree (organization:imported)
json{ "eventName": "organization:imported", "data": { "organization": [ { "id": "60b483f02135a7cc33cae1f4", "createdAt": "2021-05-31T06:36:32.913Z", "updatedAt": "2021-05-31T06:36:32.913Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "Extraordinary Technology", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f04360b2baed92a0ef", "createdAt": "2021-05-31T06:36:32.510Z", "updatedAt": "2021-05-31T06:36:32.510Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "5@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "4f2284350490c9a6387c996540938407", "salt": "on634fp9a3l", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "PE/G1XfvDrKOMMVDku8tDqHaHcH2fvylDH/ItpRwi9hlyA0O3LO0dO18WqXegd/580g2h7eVw3xDsSKVwCYdKY2c8JoIeH5MpyPUfQyMfSGiyhSe/3xNexzgYsQvLc6q7Qt2w22yXx/JpG2lX+8vGMZsilbZ4OaiGe0DYsIJCkY=", "signedUp": "2021-05-31T06:36:32.510Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [ { "id": "60b483f0da56d3335ce9ecc6", "createdAt": "2021-05-31T06:36:32.943Z", "updatedAt": "2021-05-31T06:36:32.943Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "Research and Development", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f001f2da871daffa3a", "createdAt": "2021-05-31T06:36:32.513Z", "updatedAt": "2021-05-31T06:36:32.513Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "1@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "afa7d103ff50ab92faab4f076aff4c15", "salt": "af28enc0b2k", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "GbRqFvpDRiysyiBvDttM4ETY1XiLffPw8YIQHn+YbEaOO2246iUKHmJPV8OzaxB4VS8sJ00ZrhfaoIRU/WgOT6XOLbiQl0nMVwWXLOftpoRiH2jF2LBsdBp8R9fpbhR9d/s3dmS9Ym6XthLuR5WgWp0WzIxfTqXr07FKk/mAxMM=", "signedUp": "2021-05-31T06:36:32.513Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null }, { "id": "60b483f0e20886b84b040feb", "createdAt": "2021-05-31T06:36:32.427Z", "updatedAt": "2021-05-31T06:36:32.427Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "2@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "4b8fe9dd7bb481e11d052a105467bb14", "salt": "7287h3hd2ecf", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "mL2Qt+8jNJEbauB/Px5OxGvEEk5LFNvvR30fRjQ+hOKqUtYa9d/jocBHwdI11AogfgU+P/40uRJrpb103ZEN3fc6sBJzjjGrWNHKGp9puWcPBYdrASgENXMsosYMksGgHshEQXb0ueTI4w0SLmS/vbjhk/T2V9Ao30hyudUXuz0=", "signedUp": "2021-05-31T06:36:32.427Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [ { "id": "60b483f0c4bddf3ec2adc84b", "createdAt": "2021-05-31T06:36:32.944Z", "updatedAt": "2021-05-31T06:36:32.944Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "frontend", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f01881643182c02516", "createdAt": "2021-05-31T06:36:32.514Z", "updatedAt": "2021-05-31T06:36:32.514Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "3@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "e432324a94c065ed5bf049e1f6830b48", "salt": "fc22mnh3aop", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "V32KCoeAcUwk10DzK3Y/M17XzveE6L+3x/OBy4xOWP8YcilaPF6Xt7Uhno3Jf8EobdyUe0ISXH/GRmmeN7DUO1UgKu53xhJFK2lgIA+LqcBuYED0uiDMjlZXi3MZc/gz07oiyZhAUHpKaaV1RyXjoGlVbgJlwlsZQBKKslmgrbs=", "signedUp": "2021-05-31T06:36:32.514Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false }, { "id": "60b483f01d1fbec10a12bf68", "createdAt": "2021-05-31T06:36:32.944Z", "updatedAt": "2021-05-31T06:36:32.944Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "Backend", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [], "children": [ { "id": "60b483f0146165b300194cb3", "createdAt": "2021-05-31T06:36:32.945Z", "updatedAt": "2021-05-31T06:36:32.945Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "DevOps", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0d47d3dca01c2a445", "createdAt": "2021-05-31T06:36:32.508Z", "updatedAt": "2021-05-31T06:36:32.508Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "4@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "030b91c3ba2bc2b53038d9a0c28e7be9", "salt": "2hb7ffp40g99", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "K5hjbSjgeuP5rmns2Bmtdqxgn2qvUnLhRIg2vNf8nvA8tvwTRTvJUvzinFW2Ua+c98ES/dc4R1SbeKOP7In+7kpz+TbmF7XIRmqkJYpiDyr8UjZcW4grLEz+SoncIKe6EyyXgsJTx3PzdR85U+2RjrUKBHZgpdRzN2Cc9miqP1k=", "signedUp": "2021-05-31T06:36:32.508Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false } ], "depth": 2, "root": false } ], "depth": 0, "root": false }, { "id": "60b483f0a677a6433dc8c95d", "createdAt": "2021-05-31T06:36:32.945Z", "updatedAt": "2021-05-31T06:36:32.945Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "intern", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0212fc026e679bda5", "createdAt": "2021-05-31T06:36:32.515Z", "updatedAt": "2021-05-31T06:36:32.515Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "6@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "620ce18d7c560cb7e1a226097c0a998c", "salt": "bmadf2ol32ln", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "pl2uMiIjgy1uf3nc21JXJt7h9x4s0qA7YPX1auhILbLK2yto62oyWuanacLYM531njYPjbzWVzZDK+CiarnAiGmwTAPZ1il4d3upBAUuAWbdxNaqkpcESe464N+YwX+svpfWI/jyqX4momZF78GNJZYx/O3C5hEA1vgQ6wItlgc=", "signedUp": "2021-05-31T06:36:32.515Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false }, { "id": "60b483f0f236516fb63fa5bc", "createdAt": "2021-05-31T06:36:32.945Z", "updatedAt": "2021-05-31T06:36:32.945Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "operations", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0cbbd944370d613b6", "createdAt": "2021-05-31T06:36:32.511Z", "updatedAt": "2021-05-31T06:36:32.511Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "7@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "b426ae5c54370a4f29eaaf7f641eb69d", "salt": "kg65lka84no8", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "UZYakWiMo4uyPA11TE/nb1UqsDq8i4I6m8X0qty1er+2jGD8XF9RqahVknRPfyfPSldFrpddx5o00pPRCOi7VudWFabYZZ+48/WiAQM1gaL4vz/1k7nO7Q5MMywQb73PwwFtfypgKSJPLaY7gA41gqqXI+K+MpuqFrnC0DJzpMc=", "signedUp": "2021-05-31T06:36:32.511Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false }, { "id": "60b483f0cd54d076a8a52d0b", "createdAt": "2021-05-31T06:36:32.946Z", "updatedAt": "2021-05-31T06:36:32.946Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "HR", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0722072a9b064a070", "createdAt": "2021-05-31T06:36:32.512Z", "updatedAt": "2021-05-31T06:36:32.512Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "8@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "9c1df5c5f6d71b08585d180a3507a444", "salt": "ci8nhbbc3b9a", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "mW0yWVdnsw+98Kx8/Z26YP2FoKw3isEgKT90DhbcWMFEogTDGXzXf4QnnY9Gps7DQV2mJwxh3T7s0TodHFwTAMt2fJocLsrUHUJFsKoMMwpuFraOwiqdUqgQC8AVyu0V2Fvy42ii+K9jc7Vyzj3gXCnMeXcWE2S069Zjq6F/KjE=", "signedUp": "2021-05-31T06:36:32.512Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false }, { "id": "60b483f0637689c714a25d19", "createdAt": "2021-05-31T06:36:32.946Z", "updatedAt": "2021-05-31T06:36:32.946Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "Commercialization", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0e2512abda535fe5c", "createdAt": "2021-05-31T06:36:32.513Z", "updatedAt": "2021-05-31T06:36:32.513Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "9@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "329b48c5f2f61dbd78c19cc650d8ba9d", "salt": "eh4fa5a5je5d", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "VXU64S1y1mv3d0D0sKbfW3txUEPD34FivrcZS6ghXh9D5LxZU9A+1DRt0k/CPoE8ITr4OtTVl1GbI9fsvaKUCyxrSE2xp5611OV5mGHPePxRsgvF8veA0/fvGjpuh93I6jaaQ51w1fjvU9OHsuAiRfHmOcdrbbOgeUB58e/2vPE=", "signedUp": "2021-05-31T06:36:32.513Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false }, { "id": "60b483f060d144b3adb22610", "createdAt": "2021-05-31T06:36:32.947Z", "updatedAt": "2021-05-31T06:36:32.947Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "security guard", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0341d6ae444d71c2f", "createdAt": "2021-05-31T06:36:32.611Z", "updatedAt": "2021-05-31T06:36:32.611Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "10@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "9bd27ac69737ff77f4a643e5cfad7d49", "salt": "c9919hb27ok7", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "AAP4vYP53f98SfPv5CS1kWazsYGR18tpK5SAGaguprW7Ug0zfiDF2OzGPZ7fFxWVx+w7MwxRIjzBAMFcLSSTfS0AK94ZfaKYNawVHdEc8hZUP3kvSsc9UO786tP3s2O2bEm9Ve2Y57A1bOwXI52eHt5CFffsb+/z5HQUOGyQN18=", "signedUp": "2021-05-31T06:36:32.611Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false } ], "depth": 0, "root": true } ] } }Organization tree updated (organization:tree-updated)
json{ "eventName": "organization:imported", "data": { "organization": [ { "id": "60b483f02135a7cc33cae1f4", "createdAt": "2021-05-31T06:36:32.913Z", "updatedAt": "2021-05-31T06:36:32.913Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "Extraordinary Technology", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f04360b2baed92a0ef", "createdAt": "2021-05-31T06:36:32.510Z", "updatedAt": "2021-05-31T06:36:32.510Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "5@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "4f2284350490c9a6387c996540938407", "salt": "on634fp9a3l", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "PE/G1XfvDrKOMMVDku8tDqHaHcH2fvylDH/ItpRwi9hlyA0O3LO0dO18WqXegd/580g2h7eVw3xDsSKVwCYdKY2c8JoIeH5MpyPUfQyMfSGiyhSe/3xNexzgYsQvLc6q7Qt2w22yXx/JpG2lX+8vGMZsilbZ4OaiGe0DYsIJCkY=", "signedUp": "2021-05-31T06:36:32.510Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [ { "id": "60b483f0da56d3335ce9ecc6", "createdAt": "2021-05-31T06:36:32.943Z", "updatedAt": "2021-05-31T06:36:32.943Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "Research and Development", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f001f2da871daffa3a", "createdAt": "2021-05-31T06:36:32.513Z", "updatedAt": "2021-05-31T06:36:32.513Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "1@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "afa7d103ff50ab92faab4f076aff4c15", "salt": "af28enc0b2k", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "GbRqFvpDRiysyiBvDttM4ETY1XiLffPw8YIQHn+YbEaOO2246iUKHmJPV8OzaxB4VS8sJ00ZrhfaoIRU/WgOT6XOLbiQl0nMVwWXLOftpoRiH2jF2LBsdBp8R9fpbhR9d/s3dmS9Ym6XthLuR5WgWp0WzIxfTqXr07FKk/mAxMM=", "signedUp": "2021-05-31T06:36:32.513Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null }, { "id": "60b483f0e20886b84b040feb", "createdAt": "2021-05-31T06:36:32.427Z", "updatedAt": "2021-05-31T06:36:32.427Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "2@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "4b8fe9dd7bb481e11d052a105467bb14", "salt": "7287h3hd2ecf", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "mL2Qt+8jNJEbauB/Px5OxGvEEk5LFNvvR30fRjQ+hOKqUtYa9d/jocBHwdI11AogfgU+P/40uRJrpb103ZEN3fc6sBJzjjGrWNHKGp9puWcPBYdrASgENXMsosYMksGgHshEQXb0ueTI4w0SLmS/vbjhk/T2V9Ao30hyudUXuz0=", "signedUp": "2021-05-31T06:36:32.427Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [ { "id": "60b483f0c4bddf3ec2adc84b", "createdAt": "2021-05-31T06:36:32.944Z", "updatedAt": "2021-05-31T06:36:32.944Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "Frontend", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f01881643182c02516", "createdAt": "2021-05-31T06:36:32.514Z", "updatedAt": "2021-05-31T06:36:32.514Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "3@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "e432324a94c065ed5bf049e1f6830b48", "salt": "fc22mnh3aop", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "V32KCoeAcUwk10DzK3Y/M17XzveE6L+3x/OBy4xOWP8YcilaPF6Xt7Uhno3Jf8EobdyUe0ISXH/GRmmeN7DUO1UgKu53xhJFK2lgIA+LqcBuYED0uiDMjlZXi3MZc/gz07oiyZhAUHpKaaV1RyXjoGlVbgJlwlsZQBKKslmgrbs=", "signedUp": "2021-05-31T06:36:32.514Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false }, { "id": "60b483f01d1fbec10a12bf68", "createdAt": "2021-05-31T06:36:32.944Z", "updatedAt": "2021-05-31T06:36:32.944Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "Backend", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [], "children": [ { "id": "60b483f0146165b300194cb3", "createdAt": "2021-05-31T06:36:32.945Z", "updatedAt": "2021-05-31T06:36:32.945Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "DevOps", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0d47d3dca01c2a445", "createdAt": "2021-05-31T06:36:32.508Z", "updatedAt": "2021-05-31T06:36:32.508Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "4@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "030b91c3ba2bc2b53038d9a0c28e7be9", "salt": "2hb7ffp40g99", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "K5hjbSjgeuP5rmns2Bmtdqxgn2qvUnLhRIg2vNf8nvA8tvwTRTvJUvzinFW2Ua+c98ES/dc4R1SbeKOP7In+7kpz+TbmF7XIRmqkJYpiDyr8UjZcW4grLEz+SoncIKe6EyyXgsJTx3PzdR85U+2RjrUKBHZgpdRzN2Cc9miqP1k=", "signedUp": "2021-05-31T06:36:32.508Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false } ], "depth": 2, "root": false } ], "depth": 0, "root": false }, { "id": "60b483f0a677a6433dc8c95d", "createdAt": "2021-05-31T06:36:32.945Z", "updatedAt": "2021-05-31T06:36:32.945Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "intern", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0212fc026e679bda5", "createdAt": "2021-05-31T06:36:32.515Z", "updatedAt": "2021-05-31T06:36:32.515Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "6@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "620ce18d7c560cb7e1a226097c0a998c", "salt": "bmadf2ol32ln", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "pl2uMiIjgy1uf3nc21JXJt7h9x4s0qA7YPX1auhILbLK2yto62oyWuanacLYM531njYPjbzWVzZDK+CiarnAiGmwTAPZ1il4d3upBAUuAWbdxNaqkpcESe464N+YwX+svpfWI/jyqX4momZF78GNJZYx/O3C5hEA1vgQ6wItlgc=", "signedUp": "2021-05-31T06:36:32.515Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false }, { "id": "60b483f0f236516fb63fa5bc", "createdAt": "2021-05-31T06:36:32.945Z", "updatedAt": "2021-05-31T06:36:32.945Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "operations", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0cbbd944370d613b6", "createdAt": "2021-05-31T06:36:32.511Z", "updatedAt": "2021-05-31T06:36:32.511Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "7@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "b426ae5c54370a4f29eaaf7f641eb69d", "salt": "kg65lka84no8", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "UZYakWiMo4uyPA11TE/nb1UqsDq8i4I6m8X0qty1er+2jGD8XF9RqahVknRPfyfPSldFrpddx5o00pPRCOi7VudWFabYZZ+48/WiAQM1gaL4vz/1k7nO7Q5MMywQb73PwwFtfypgKSJPLaY7gA41gqqXI+K+MpuqFrnC0DJzpMc=", "signedUp": "2021-05-31T06:36:32.511Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false }, { "id": "60b483f0cd54d076a8a52d0b", "createdAt": "2021-05-31T06:36:32.946Z", "updatedAt": "2021-05-31T06:36:32.946Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "HR", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0722072a9b064a070", "createdAt": "2021-05-31T06:36:32.512Z", "updatedAt": "2021-05-31T06:36:32.512Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "8@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "9c1df5c5f6d71b08585d180a3507a444", "salt": "ci8nhbbc3b9a", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "mW0yWVdnsw+98Kx8/Z26YP2FoKw3isEgKT90DhbcWMFEogTDGXzXf4QnnY9Gps7DQV2mJwxh3T7s0TodHFwTAMt2fJocLsrUHUJFsKoMMwpuFraOwiqdUqgQC8AVyu0V2Fvy42ii+K9jc7Vyzj3gXCnMeXcWE2S069Zjq6F/KjE=", "signedUp": "2021-05-31T06:36:32.512Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false }, { "id": "60b483f0637689c714a25d19", "createdAt": "2021-05-31T06:36:32.946Z", "updatedAt": "2021-05-31T06:36:32.946Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "Commercialization", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0e2512abda535fe5c", "createdAt": "2021-05-31T06:36:32.513Z", "updatedAt": "2021-05-31T06:36:32.513Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "9@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "329b48c5f2f61dbd78c19cc650d8ba9d", "salt": "eh4fa5a5je5d", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "VXU64S1y1mv3d0D0sKbfW3txUEPD34FivrcZS6ghXh9D5LxZU9A+1DRt0k/CPoE8ITr4OtTVl1GbI9fsvaKUCyxrSE2xp5611OV5mGHPePxRsgvF8veA0/fvGjpuh93I6jaaQ51w1fjvU9OHsuAiRfHmOcdrbbOgeUB58e/2vPE=", "signedUp": "2021-05-31T06:36:32.513Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false } ], "depth": 0, "root": true } ] }, "modifyNodes": [ { "id": "60b483f060d144b3adb22610", "createdAt": "2021-05-31T06:36:32.947Z", "updatedAt": "2021-05-31T06:36:32.947Z", "userPoolId": "60648d4a2b6975b984829331", "orgId": "60b483f0cb7b9de87b8169d4", "name": "New security guard", "nameI18n": null, "description": "Import from Excel", "descriptionI18n": null, "order": null, "code": null, "source": null, "dataVersion": null, "sourceData": null, "members": [ { "id": "60b483f0341d6ae444d71c2f", "createdAt": "2021-05-31T06:36:32.611Z", "updatedAt": "2021-05-31T06:36:32.611Z", "userPoolId": "60648d4a2b6975b984829331", "isRoot": false, "status": "Activated", "oauth": null, "email": "10@qq.com", "phone": null, "username": null, "unionid": null, "openid": null, "nickname": null, "company": "0", "photo": "https://files.authing.co/authing-console/default-user-avatar.png", "browser": null, "device": null, "password": "9bd27ac69737ff77f4a643e5cfad7d49", "salt": "c9919hb27ok7", "token": null, "tokenExpiredAt": null, "loginsCount": 0, "lastIp": "U", "name": null, "givenName": null, "familyName": null, "middleName": null, "profile": null, "preferredUsername": null, "website": null, "gender": "U", "birthdate": null, "zoneinfo": null, "locale": null, "address": "9/4/2020", "formatted": null, "streetAddress": null, "locality": null, "region": null, "postalCode": null, "city": null, "province": null, "country": null, "registerSource": ["import:excel"], "secretInfo": null, "emailVerified": false, "phoneVerified": false, "lastLogin": null, "blocked": false, "isDeleted": false, "sendSmsCount": 0, "sendSmsLimitCount": 1000, "dataVersion": null, "encryptedPassword": "AAP4vYP53f98SfPv5CS1kWazsYGR18tpK5SAGaguprW7Ug0zfiDF2OzGPZ7fFxWVx+w7MwxRIjzBAMFcLSSTfS0AK94ZfaKYNawVHdEc8hZUP3kvSsc9UO786tP3s2O2bEm9Ve2Y57A1bOwXI52eHt5CFffsb+/z5HQUOGyQN18=", "signedUp": "2021-05-31T06:36:32.611Z", "externalId": null, "mainDepartmentId": null, "mainDepartmentCode": null, "lastMfaTime": null, "passwordSecurityLevel": 1, "resetPasswordOnFirstLogin": false, "source": null } ], "children": [], "depth": 0, "root": false } ], "newNodes": [], "removeNodes": [] }Password change event
json{ "eventName": "user:password-changed", "data": { "userId": "5f702fcc913544c358cb2123" } }User mailbox verification event
{
"eventName": "user:email-verified",
"data": {
"userId": "xxxxx",
"email": "xxxx"
}
}- Add authorization event
{
"eventName": "permission:add",
"data": {
"userPoolId": "xxxxx",
"policies": ["xxxx"], // Authorized policy ID list
"targetType": "USER", // Authorization object type, USER | ROLE | GROUP | ORG
"targetIdentifiers": ["xxxx"], // Authorization object ID list, such as user ID
"namespace": "xxxx" // The permission group to which the authorized policy belongs
}
}- Deauthorization event
{
"eventName": "permission:revoke",
"data": {
"userPoolId": "xxxxx",
"policies": ["xxxx"], // Authorized policy ID list
"targetType": "USER", // Authorization object type, USER | ROLE | GROUP | ORG
"targetIdentifiers": ["xxxx"], // Authorization object ID list, such as user ID
"namespace": "xxxx" // The permission group to which the authorized policy belongs
}
}- User social account binding event
{
"eventName": "user:link-account",
"data": {
"primaryUser": {
"id": "6130d1cb9c8c812c8ab8fee6",
"createdAt": "2021-09-02T13:29:47.401Z",
"updatedAt": "2021-09-02T13:30:19.948Z",
"userPoolId": "xxxxx",
"isRoot": false,
"status": "Activated",
"oauth": null,
"email": null,
"phone": null,
"username": "2@qq.com",
"unionid": null,
"openid": null,
"nickname": null,
"company": null,
"photo": "https://files.authing.co/authing-console/default-user-avatar.png",
"browser": null,
"device": null,
"password": "1a7418befabaf0f85ae2b3861e02d005",
"salt": "pnpgbd3pok9",
"token": null,
"tokenExpiredAt": "2021-09-16T13:30:19.930Z",
"loginsCount": 1,
"lastIp": "223.104.39.83",
"name": null,
"givenName": null,
"familyName": null,
"middleName": null,
"profile": null,
"preferredUsername": null,
"website": null,
"gender": "U",
"birthdate": null,
"zoneinfo": null,
"locale": null,
"address": null,
"formatted": null,
"streetAddress": null,
"locality": null,
"region": null,
"postalCode": null,
"city": null,
"province": null,
"country": null,
"registerSource": ["import:manual"],
"secretInfo": null,
"emailVerified": false,
"phoneVerified": false,
"lastLogin": "2021-09-02T13:30:19.946Z",
"blocked": false,
"isDeleted": false,
"sendSmsCount": 0,
"sendSmsLimitCount": 1000,
"dataVersion": null,
"encryptedPassword": "xxxxx",
"signedUp": "2021-09-02T13:29:47.401Z",
"externalId": null,
"mainDepartmentId": null,
"mainDepartmentCode": null,
"lastMfaTime": null,
"passwordSecurityLevel": 1,
"resetPasswordOnFirstLogin": false,
"source": null,
"lastIP": "223.104.39.83",
"identities": []
},
"secondaryUser": {
"id": "6130d1760ce53236578c621a",
"createdAt": "2021-09-02T13:28:22.161Z",
"updatedAt": "2021-09-02T13:28:23.015Z",
"userPoolId": "xxxxx",
"isRoot": false,
"status": "Activated",
"oauth": "xxxxx",
"email": null,
"phone": null,
"username": "nutstest",
"unionid": "35067055",
"openid": "35067055",
"nickname": "NT",
"company": "www.nutstest.com",
"photo": "https://files.authing.co/user-contents/6110a896e978a8bcebc176ec/avatar/c5277984-0aa9-4fa6-8b88-d1545ad372fb.jpg",
"browser": null,
"device": null,
"password": null,
"salt": null,
"token": null,
"tokenExpiredAt": "2021-09-16T13:28:22.289Z",
"loginsCount": 1,
"lastIp": "xxx.xxx.xx.xx",
"name": null,
"givenName": null,
"familyName": null,
"middleName": null,
"profile": "https://github.com/nutstest",
"preferredUsername": null,
"website": null,
"gender": "U",
"birthdate": null,
"zoneinfo": null,
"locale": null,
"address": null,
"formatted": null,
"streetAddress": null,
"locality": null,
"region": null,
"postalCode": null,
"city": null,
"province": null,
"country": null,
"registerSource": ["social:github"],
"secretInfo": null,
"emailVerified": false,
"phoneVerified": false,
"lastLogin": "2021-09-02T13:28:22.386Z",
"blocked": false,
"isDeleted": false,
"sendSmsCount": 0,
"sendSmsLimitCount": 1000,
"dataVersion": null,
"encryptedPassword": null,
"signedUp": "2021-09-02T13:28:22.161Z",
"externalId": null,
"mainDepartmentId": null,
"mainDepartmentCode": null,
"lastMfaTime": null,
"passwordSecurityLevel": null,
"resetPasswordOnFirstLogin": false,
"source": null,
"lastIP": "xxx.xxx.xx.xx",
"identities": [
{
"id": "6130d17673f16b4eba4450ed",
"createdAt": "2021-09-02T13:28:22.496Z",
"updatedAt": "2021-09-02T13:28:22.496Z",
"userPoolId": "xxxxx",
"provider": "github",
"isSocial": true,
"connectionId": null,
"userId": "6130d1760ce53236578c621a",
"origianlProfile": null,
"userIdInIdp": "xxxxx",
"type": "primary",
"userInfoInIdp": {
"unionid": "35067055",
"openid": "35067055",
"username": "nutstest",
"profile": "https://github.com/nutstest",
"nickname": "NT",
"photo": "https://avatars.githubusercontent.com/u/35067055?v=4",
"company": "www.nutstest.com",
"city": null,
"oauth": "xxxxx",
"accessToken": "xxxxx",
"userIdInIdp": "xxxxx",
"provider": "github",
"registerSource": ["social:github"],
"userPoolId": "xxxxx"
},
"openid": null,
"accessToken": "xxxxx",
"refreshToken": null
},
{
"id": "6130d17624a68a4e22a12d85",
"createdAt": "2021-09-02T13:28:22.504Z",
"updatedAt": "2021-09-02T13:28:22.504Z",
"userPoolId": "xxxxx",
"provider": "github",
"isSocial": true,
"connectionId": null,
"userId": "6130d1760ce53236578c621a",
"origianlProfile": null,
"userIdInIdp": "xxxxx",
"type": "openid",
"userInfoInIdp": {
"unionid": "35067055",
"openid": "35067055",
"username": "nutstest",
"profile": "https://github.com/nutstest",
"nickname": "NT",
"photo": "https://avatars.githubusercontent.com/u/35067055?v=4",
"company": "www.nutstest.com",
"city": null,
"oauth": "xxxxx",
"accessToken": "xxxxx",
"userIdInIdp": "xxxxx",
"provider": "github",
"registerSource": ["social:github"],
"userPoolId": "xxxxx"
},
"openid": null,
"accessToken": "xxxxx",
"refreshToken": null
}
]
}
}
}