Skip to content
Go to Dashboard

使用 GenAuth 拓展能力实现自动化

GenAuth 一直以来都致力于提升平台的开放性和可扩展性,以满足不同客户对身份认证、权限管理各种个性化的需求。GenAuth 的扩展性体系目前包含以下形式:

  • WebHook 允许你对用户注册、登录、密码重置、邮箱验证、用户信息更新等行为进行监听,系统会在触发特定事件后往你配置的自定义回调地址发送事件,从而对其做一些自定义处理。
  • Pipeline 是一组运行在云端的用户自定义 JavaScript 代码,可以让开发者在认证流程中执行自定义代码,实现添加自定义 id_token、非常灵活的访问控制等。
  • 自定义数据库能够让 GenAuth 与你自定义的数据库进行交互,也可以实现不停机的用户数据上云迁移。

流水线 Pipeline

简介

INFO

有关支持「Pipeline」功能各项权益的 GenAuth 用户池版本信息,请查看 官网「价格」页。如你的版本不支持此权益,且想试用,可开通体验期。有关体验期介绍及开通方式,请查看 体验期

GenAuth Pipeline 为一组运行在云端的用户自定义 JavaScript 代码,可以让开发者扩展、自定义 GenAuth 能力。

GenAuth Pipeline 函数均为用户可自定义,同时我们还提供了丰富的函数模版,帮助开发者快速上手开发。

同时 Pipeline 为一组函数,和普通 Hooks 的区别在于,Pipeline 整个流程中的函数数据可以相互传递,实现工业流水线一样的效果。这种设计模式,可以使得开发者的自定义函数更加模块化,便于管理。

GenAuth Pipeline 后端使用 serverless 架构,所有的用户自定义代码均运行在云端,保证不同租户之间的隔离性,同时能弹性伸缩,既保证了安全性,又提升了运行效率。

应用场景

借助 GenAuth Pipeline,开发者可以实现以下功能:

  • 白名单机制:如注册邮箱后缀白名单、注册 IP 白名单等。
  • 事件通知:如用户注册之后发送群通知、用户登录 IP 异常通知等。
  • 权限控制:如用户登录之后根据邮箱将其加入某用户组等。
  • 扩展用户字段:如给该请求用户添加自定义 Metadata 等。
  • 自定义 token:如往 token 中加入自定义字段等。
  • ... 还有更多,想象空间是无穷的。

接下来,就让我们一起创建你的第一个 Pipeline 函数吧!

创建你的第一个 Pipeline 函数

Pipeline 函数是 GenAuth 认证流程中执行的自定义 JavaScript 代码。借助 Pipeline,开发者可以轻易自定义和扩展 GenAuth 的能力。

第一步:选择一个 Pipeline 模版

GenAuth 提供了很多开箱即用的模版,帮助你快速上手。

TIP

你也可以在这里查看 Pipeline 模版函数列表:https://github.com/authing/pipeline。同时欢迎你发挥才智,为我们贡献 Pipeline 模版函数。

  1. 选择某个触发场景:

选择某个触发场景

  1. 选择访问控制中的 注册邮箱后缀白名单

注册邮箱后缀白名单

第二步:创建一个 Pipeline 函数

  1. 这里我们设置的域名白名单是 example.com,你也可以自定义。

  1. 点击左下角的 创建 按钮,我们将此函数部署到云端,需要一定时间,请耐心等待。

页面返回到 Pipeline 函数列表页,可以看到我们刚刚添加的 Pipeline 函数。

TIP

如果你有多个 Pipeline 函数,可以拖拽最左侧按钮进行排序。

第三步:验证白名单是否有效

  1. 首先使用非 example.com 后缀的邮箱注册,系统提示「Access Denied.」提示,这是我们在自定义 Pipeline 函数中自己指定的提示信息。
  1. 之后再使用后缀为 example.com 的邮箱注册,注册成功!

第四步:接下来你可能还需要

Pipeline 函数开发指南

TIP

Pipeline 为一组函数,和普通 Hooks 的区别在于,Pipeline 整个流程中的函数数据可以相互传递,实现工业流水线一样的效果。这种设计模式,可以使得开发者的自定义函数更加模块化,便于管理。

DANGER

出于安全考虑, GenAuth 会通过特殊方式,使用你的用户池 ID(userPoolId) 和用户池密钥(secret) 初始化 authing-js-sdk,此过程不会将你的用户池密钥发送到公网。你可以使用使用全局变量 authing请勿再次初始化 SDK!

Pipeline 函数类型

目前 GenAuth 支持六种类型的 Pipeline 函数:

触发场景说明
注册前在每次用户正式进入注册逻辑前触发,此时用户信息还没有保存至数据库。开发者可在此自定义控制用户的注册流程,实现注册邮箱白名单、注册 IP 白名单等功能。
注册后在每次用户完成注册逻辑之后触发,此时用户信息已经保存至数据库。开发者可在此获取并自定义扩展用户的注册信息,实现往数据库写入自定义 Metadata 、新用户注册 webhook 通知等功能。
认证前在每次用户完成认证之前触发,此时还没有在数据库内写入登录信息。开发者可在此自定义控制用户的登录流程,实现在特定时间段禁止用户登录,阻止可疑 IP 登录等功能。
认证后在每次用户完成认证之后触发,此时已经在数据库内写入登录信息。开发者可在此获取并自定义扩展用户的登录信息,实现将用户位置信息写入 Metadata,使用 ui-avatars 生成用户头像等功能。
OIDC ID Token 签发前OIDC 应用签发 ID Token 之前触发(只在授权码模式、隐式模式、密码模式下触发)。开发者可在此向 ID Token 中写入自定义字段。
OIDC Access Token 签发前OIDC 应用签发 Access Token 之前触发。开发者可在此向 Access Token 中写入自定义字段。

DANGER

请勿在「注册后」和「认证后」两个场景中断正常认证流程,否则会导致数据库数据和返回结果不一致,从而出现不可预料的错误!

INFO

在 OIDC 认证流程中,授权码模式、隐式模式、密码模式和编程访问账号模式都会签发 Access Token,并触发对应的 Pipeline 函数。

当使用编程访问账号进行认证时,不会签发 OIDC ID Token,对应的 Pipeline 函数也不会触发。

INFO

OIDC 应用使用授权码换取 ID Token 和 Access Token 的详细过程请参见:使用 OIDC 授权

OIDC 编程访问账号使用 Client ID 和 Client Secret 换取 Access Token 的详细过程请参见:M2M 授权

函数定义

Pipeline 函数定义:

js
async function pipe(user, context, callback)

参数说明:

参数类型说明
userobject当前请求用户。详细说明请见 user 对象
contextobject请求认证上下文。详细说明请见 context 对象
callbackfunction回调函数,使用文档见下文。

DANGER

请勿重命名 pipe 函数!

TIP

注册前触发的 Pipeline 函数的 user 参数为空,因为此时用户对象还没有生成。

当使用编程访问账号进行认证时,OIDC Access Token 签发前触发的 Pipeline 函数的 user 参数为空,因为编程访问账号不存在用户的概念。

TIP

pipe 函数支持 async / await 语法!

callback 函数

定义:

js
function callback(error, user, context)

当你的 Pipeline 函数完成了所需处理,需要向 GenAuth 的后端返回数据,或是需要中断认证流程时,都需要在代码返回前调用 callback 函数。

参数说明:

参数类型说明
errorobject错误对象。如果不为 null,整个认证流程将会中断,直接返回错误给前端。
userobject作为返回值的用户对象,其值将会被后端利用,同时用作下一个 Pipeline 函数的参数。
contextobject作为返回值的上下文对象,其值将会被后端利用,同时用作下一个 Pipeline 函数的参数。

DANGER

如果 error 参数不为 null ,请务必将最新的 user 和 context 传给 callback 函数,否则之后的 Pipeline 函数将无法正常工作。

设置异步执行

设置为异步执行( 这里的异步非语言层面上 )的 pipeline 函数不会阻塞注册、登录、OIDC 流程的执行,callback 函数传入的参数对后续流程无影响,适用于进行异步通知的场景,比如飞书群通知、钉钉群通知、触发外部系统统计等。

如下图所示,勾选上此框表示让该 pipeline 函数异步执行:

Pipeline 函数示例

这里我们实现一个注册邮箱后缀白名单的 Pre-Register Pipeline

js
async function pipe(context, callback) {
  const email = context.data.userInfo.email;
  // 非邮箱注册方式, 跳过此 pipe 函数
  if (!email) {
    // 注意参数
    return callback(null, context);
  }

  // 如果域名邮箱不是 example.com, 返回 Access denied. 错误给终端。
  if (!email.endsWith("@example.com")) {
    return callback(new Error("Access denied."));
  }
  // 进入下一个 pipe 函数(如果有)
  return callback(null, context);
}

应用场景

TIP

Pipeline 能够让开发者在认证过程中执行自定义代码,实现 Webhook 通知、扩展用户字段、访问控制等能力。如果你有好的 Idea 和应用场景,欢迎为我们补充模版

Webhook 通知

扩展用户字段

访问控制

OIDC 认证流程

user 对象

user 对象中保存了当前用户的各种数据,以及用于添加自定义字段、自定义 token 字段的方法。

INFO

Pre-Register(注册前) Pipeline 的 user 对象含有用户注册时填入的信息,但没有实际写入数据库。

仅支持在认证前、后在 Pipeline 中修改用户信息 ( user 对象 )。在其他节点(如 Token 签发前、后)并不支持直接在 Pipeline 中修改用户信息。

属性

属性名值类型说明
idstring用户 ID
usernamestring用户名
emailstring邮箱
emailVerifiedboolean邮箱是否已验证
phonestring手机号
phoneVerifiedboolean手机号是否已验证
photostring头像链接
nicknamestring昵称
genderstring性别
lastLoginstring上次登录时间,格式为 2020-02-07T04:29:40.877Z
companystring公司名
browserstring注册浏览器
devicestring注册设备
countrystring国家
regionstring地区
addressstring地址

方法

方法名说明示例代码
addCustomData添加用户自定义字段。你需要先在用户池级别定义好预设的用户自定义字段,才能在 Pipeline 中为用户设置。user.addCustomData("KEY", "VALUE")
addIdToken设置 ID Token 自定义字段,也可以用于替换原有 ID Token 内容。此接口仅在 OIDC ID Token 签发前可用。user.addIdToken("KEY","VALUE")
removeIdToken删除 ID Token 原有或自定义字段。此接口仅在 OIDC ID Token 签发前可用。user.removeIdToken("KEY","VALUE")
addAccessToken设置 Access Token 自定义字段,也可以用于替换原有 Access Token 内容。此接口仅在 OIDC Access Token 签发前可用。user.addAccessToken("KEY","VALUE")
removeAccessToken删除 Access Token 原有或自定义字段。此接口仅在 OIDC Access Token 签发前可用。user.removeAccessToken("KEY")

context 对象

context 对象中保存了当前认证流程的上下文,包括认证手段、身份提供方,以及请求 IP, 地址等。

属性

属性名类型说明
protocolstring认证协议。具体说明见下文。
connectionstring身份提供方。具体说明见下文。
userPoolIdstring用户池 ID
userPoolNamestring用户池 名称
userPoolMetadataobject用户池配置
appIdstring当前用户的 ID
appNamestring当前应用的 名称
appMetadataobject当前应用的配置信息
requestobject当前请求的详细信息,包括:
ip: 客户端 IP
geo: 通过 IP 解析的客户端地理位置
body: 请求体
query: query string 对象,你可以通过 request.query.xxx 获取对应 query 参数
accessTokenTargetEnum: programmaticAccount, user仅在签发 accessToken 前的 pipeline 中有值,表示当前是为编程访问账号还是用户签发 accessToken

protocol

认证协议。

可能值说明
password基于账号密码的认证方式
sms基于短信验证码的认证方式
social社会化登录认证默认,当使用 GenAuth 集成的社会化登录手段登录时为此值。
ldap使用 LDAP 进行认证。有关如何接入 LDAP 请见 配置 LDAP 服务
saml使用 SAML 进行认证。有关如何接入 SAML 请见 接入 SAML
oidc使用 OIDC 协议认证。有关如何接入 OIDC 请见使用 OIDC 授权

connection

身份提供方。

可能值 说明 ldap 使用 lDAP 协议进行登录。 一个 GenAuth LDAP 服务对应一个 GenAuth 用户目录或第三方用户目录,详情请见 配置 LDAP 服务 和 使用 GenAuth 的 LDAP 用户目录。 saml 使用 SAML 协议进行登录。有关如何接入 SAML 请见 接入 SAML。 oidc 使用 OIDC 协议认证。有关如何接入 OIDC 请见 使用 OIDC 授权。 github 使用 GitHub 登录。详情见 接入 GitHub 登录。 wechat PC 微信扫码登录。详情见 接入 PC 微信扫码登录。 wechat:miniprogram 使用微信小程序登录。详情见 接入微信小程序登录。 wechatwork 使用企业微信登录。 qq 使用 QQ 网页版登录。详情见 接入 QQ 登录。 weibo 使用微博网页版登录。详情见 接入微博登录。 dingtalk 使用钉钉网页版登录。详情见 接入钉钉登录。 alipay 使用支付宝 APP 登录。详情见 接入移动 APP 支付宝登录 。

data 对象

注册前、注册后

注册前、注册后 Pipeline 中 data 对象部分请求字段如下:详情请见 GenAuth GraphQL 调试器 用户鉴权 - 注册接口。

WARNING

email, phone, unionid 等字段不一定同时存在,使用前请先判断其是否存在!如

js
const email = context.request.body.email;
if (email) {
  // 表示是用邮箱注册
  // 可以进行邮箱注册白名单的逻辑

  if (!email.endsWith("example.com")) {
    return callback(new Error("Access Denied!"));
  }
}
字段名类型是否一定存在说明
usernamestring用户名,使用用户名注册的时候不为空。
emailstring邮箱,使用用户名注册的时候不为空。
phonestring手机号,使用手机号注册的时候不为空。
forceLoginboolean注册时候是否自动进行登录流程,默认为 false
profileobject用户注册所填的数据用户信息

认证前、认证后

认证前、认证后 Pipeline 中 data 对象部分请求字段如下:

WARNING

这些字段不一定全部存在,使用前请先判断是否存在!

字段名类型是否一定存在说明
usernamestring用户名,使用用户名登录的时候不为空。
emailstring邮箱,使用邮箱登录的时候不为空。
phonestring手机号,使用手机号登录的时候不为空。

userPool 对象

用户池相关信息。

字段名类型说明
idstring用户池 ID
namestring用户池名称

geo 属性

示例数据:

json
{
  "province": "北京市",
  "city": "北京市",
  "adcode": "110000",
  "rectangle": "116.0119343,39.66127144;116.7829835,40.2164962"
}

在 Pipeline 中使用环境变量

TIP

Pipeline 函数中的环境变量和操作系统里环境变量的概念一致,开发者可以通过全局变量 env 获取。环境变量对应用池内所有 Pipelien 函数全部可见。

你可以在设置 - 环境变量页面配置环境变量:

环境变量为一组 Key-Value Pair 值,可以用于保存 WebHook 链接、密钥等数据。

输入 Key 和 Value 之后点击添加:

在此,我们设置了一个 Key 为 LARK_WEBHOOK 的环境变量,在 Pipeline 函数中可以通过 env.LARK_WEBHOOK 获取对应的 Value 值。如下面这个用户注册之后触发飞书群通知的例子:

js
async function pipe(user, context, callback) {
  const webhook = env.LARK_WEBHOOK;
  await axios.post(webhook, {
    title: "New User Registered - From GenAuth Rules Pipeline",
    text: `
                用户信息:
                ID: ${user.id}
                昵称:${user.username}
                注册方式:${user.registerSource}
                邮箱:${user.email}
                手机号:${user.phone}
                UA: ${user.device}
                用户池 ID: ${user.userPoolId}
          `,
  });
  return callback(null, user, context);
}

可用的 Node Modules

目前 GenAuth Pipeline 中可以使用以下 Node Modules:

GenAuth SDK for Node.js

DANGER

出于安全考虑, GenAuth 会通过特殊方式,使用你的用户池 ID(userPoolId) 和用户池密钥(secret) 初始化 authing-js-sdk,此过程不会将你的用户池密钥发送到公网。你可以使用使用全局变量 authing请勿再次初始化 SDK!

开发者可以直接使用初始化过后的 authing 实例,无需手动初始化!GenAuth Pipeline 会自动帮助开发者 take care 初始化过程。

如下所示:

js
async function pipe(user, context, callback) {
  //判断用户邮箱是否已 @authing.cn 结尾
  if (!user.email.endsWith('@authing.cn')) {
    return callback(null, user, context)
  }

  try {
    //调用 API 给用户添加角色
    await authing.roles.addUsers('ROLE', [user.id])
  } catch (error) { }

  callback(null, user, context)
}

在 addUsers() 中我们使用了 env.ROOT_GROUP_ID 通过环境变量来获取组 ID,这样可以避免硬编码。关于如何在 Pipeline 函数中使用环境变量,请见使用环境变量。 关于如何使用 callback 以及 Pipeline 函数的完整 API,请见 Pipeline 函数 API 文档

网络请求库

目前 GenAuth 支持使用 axios,且支持 async/await 语法 🚀!

axios 详细文档请移步其官方文档

lodash

需要开发者手动导入:

js
const lodash = require("lodash")

详细文档请移步其官方文档

内置工具集 utils

GenAuth 内置封装了一些实用的函数,供开发者直接调用。

需要开发者手动导入:

js
const utils = require("./utils")

检查 IP 是否位于 IP 段内

使用方法:

js
utils.ipRangeCheck(IP, [start, end])

返回值为 boolean。

示例:以下 Pipeline 函数实现注册 IP 段白名单功能。

js
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!'))
}

其他 Node 自带 Module

GenAuth Pipeline 使用 node8 引擎,node8 的所有内置模块均可使用,如 querystring 等。

如何调试

本文讲述如何使用 GenAuth 控制台调试 Pipeline 函数。

在上一步,我们已经创建了第一个 Pipeline 函数,同时回顾一下该函数代码为:

该 Pipeline 函数的作用是只允许域名后缀为example.com的邮箱注册。

点击 Pipeline 函数的 debug 按钮:

点击此按钮打开调试窗口:GenAuth 会根据你的用户池生产相对应的测试数据。

查看 log 日志

WARNING

需要使用 GenAuth Pipeline 全局内置函数 log 才能查看到运行日志,不是 console.log !

使用函数编辑器内修改代码,在函数最前面加入一行 : 注意是 log 而非 console.log 。

js
log(context);

INFO

如果没有日志输出,请重试几次!

INFO

我们推荐先用调试器调试代码通过之后再将此函数发布到线上。

私有化部署

如果你要私有化部署 GenAuth(详情看这里),你需要提供以下信息:

  • ACCOUNT_ID: 阿里云账号 ID, 在 阿里云控制台右上角 选择 个人头像,点击安全设置,在此页面可以获取到账号 ID。详情请点击此

  • REGION: 地区,如 cn-beijing, cn-hangzhou。
  • ACCESS_KEY_ID: 在 阿里云控制台右上角 选择 个人头像,点击 AccessKey 管理,在此页面可获得。

  • ACCESS_KEY_SECRET: 在 阿里云控制台右上角 选择 个人头像点击 AccessKey 管理,在此页面可获得。
  • TIMEOUT: 上传 pipeline 函数超时时间。
  • RETRIES: 上传 pipeline 函数最多重试次数。

Webhooks

INFO

有关支持「Webhooks」功能权益的 GenAuth 用户池版本信息,请查看 官网「价格」页。如你的版本不支持此权益,且想试用,可开通体验期。有关体验期介绍及开通方式,请查看 体验期

Webhook 允许你对用户注册、登录等行为进行监听,从而对其做一些自定义处理。

使用 Webhook 的方法是在 GenAuth 平台中配置 HTTP URL,当你的用户登录、注册、修改密码后,都会给远程 HTTP URL 发送一个 POST 请求。

配置 Webhooks

自动化->Webhooks 页面,可以管理你定义的 webhook:

  1. 点击添加 Webhook 按钮 可以创建新的 Webhook 订阅特定事件。

  1. 填写表单勾选 Webhook 事件。

  1. 创建成功后会进入 Webhook 列表页面。

参数解释

参数名称参数解释
名称当前创建的 webhook 的名称
回调链接远程接收 webhook 事件的 HTTP URL 地址
请求密钥设置好密钥(值由开发者自定)后,GenAuth 将在每个请求中(HTTP Header:X-GenAuth-Token)附带此密钥,你可以通过验证此密钥来避免一些非法操作
请求数据格式指定发起 Webhook 请求时 Request body 的数据格式,可选值有 application/jsonapplication/x-www-form-urlencoded
触发事件请查看支持的事件
激活是否启用此 Hook

调试 Webhook

刚创建好的 Hook 请求事件都为空,这时你可以点击「调试」触发一个「测试事件」:

INFO

Webhook 测试

请求数据为:

js
{
    "description": "A test from Authing Webhook"
}

测试成功后你将看到详细的请求信息和返回信息。

支持的事件

事件列表

事件名事件描述事件参数
login登录事件,当用户进行登录时会触发此事件,无论是否登录成功都会触发。登录用户的用户信息
register注册事件,当用户注册、管理员手动创建用户或导入用户时会触发此事件注册用户的用户信息
refresh-tokenoidc refresh token 事件data.user: 用户信息,data.nextIdToken:新的 idToken,data.nextAccessToken:新的 accessToken,data.currRefreshToken:当前 refresh token,data.nextRefreshToken:新的 refreshToken,若未开启 refresh token 轮换,将与 currRefreshToken 一致
user:created创建用户事件,当用户注册、管理员手动创建用户或导入用户时会触发此事件,与 register 触发的逻辑一样,一般只需监听其中一个事件即可创建的用户的用户信息
mfa:verifiedMFA 验证事件,当用户登录并触发了 MFA,并输入了 MFA 验证码二次登录后触发,无论成功与否都会触发data.userId: 验证的用户 ID,data.isValid: 是否验证通过,data.type: 验证的类型,可能值有 OTP, FACE, SMS, EMAIL
user:updated修改用户信息事件,当用户修改自己的信息或管理员手动修改用户信息时会触发此事件,无论成功与否都会触发data.user: 更新后的用户信息,data.updates: 更新的字段对象
user:udv-changed修改用户拓展信息事件,当用户修改自己的拓展信息或管理员手动修改用户拓展信息时触发此事件data.user: 用户信息,data.udv: 更新后的自定义字段信息,data.udf: 自定义字段配置信息
user:deleted管理员删除用户事件data.users: 删除的用户列表(自定义数据库模式此字段为用删除的用户 ID 列表)
user:password-changed修改密码事件,当用户修改密码或管理员手动修改密码时会触发此事件,无论成功与否都会触发密码被修改的用户的用户信息
user:password-update-remind用户密码到期,给用户发送提醒邮件时触发此事件data.userpool:用户池信息,data.user:用户信息
user:email-verified用户邮箱被验证事件data.userId: 验证的用户 ID,data.email: 验证的邮箱
user:register-whitelist-added添加注册白名单事件data.phones: 添加的手机号列表,data.emails: 添加的邮箱列表,data.usernames: 添加的用户名列表
user:register-whitelist-deleted删除注册白名单事件data.phones: 删除的手机号列表,data.emails: 删除的邮箱列表,data.usernames: 删除的用户名列表
permission:add添加授权事件,授权对象可以是用户、角色、组织结构,分组data.policyCodes: 授权的策略代码列表,data.targetType: 授权的目标类型,如用户,角色等,data.userPoolId: 所属用户池 ID,data.targetIdentifiers: 授权的目标 ID 列表,data.namespace: 策略所属权限组
permission:revoke取消授权事件,取消授权对象可以是用户、角色、组织机构,分组data.policyCodes: 授权的策略代码列表,data.targetType: 授权的目标类型,如用户,角色等,data.userPoolId: 所属用户池 ID,data.targetIdentifiers: 授权的目标 ID 列表,data.namespace: 策略所属权限组
kick用户被强制下线事件data.users: 被下线的用户列表,data.application: 从某个应用强制下线时,对应的应用信息
privilege-namespace:created添加权限分组事件,管理员手动创建权限分组,或创建应用自动创建权限分组时会触发此事件data.namespace: 创建的权限分组
privilege-namespace:updated修改权限分组信息事件data.namespace: 修改后的权限分组,data.updates: 更新的字段对象
privilege-namespace:deleted删除权限分组事件data.namespaces: 删除的权限分组列表
resource:created添加资源事件data.resource: 添加的资源,data.namespace: 资源所属权限组
resource:delete删除资源事件data.codes: 删除的资源 code 列表,data.namespace: 资源所属权限组
resource:updated更新资源事件data.resource: 更新后的资源信息,data.updates: 更新的字段对象
role:add创建角色事件data.role: 添加的角色,data.namespace: 角色所属权限组
role:delete删除角色事件删除的角色 ID
role:updated更新角色事件data.role: 更新后的角色信息,data.updates: 更新的字段对象
role:assigned角色授权给主体事件data.userIds: 被授权的用户 ID 列表,data.groupIds: 被授权的分组 ID 列表,data.nodeIds: 被授权的组织机构节点 ID 列表
role:unassigned取消角色授权给主体事件data.userIds: 被授权的用户 ID 列表,data.groupIds: 被授权的分组 ID 列表,data.nodeIds: 被授权的组织机构节点 ID 列表
role:udv-changed修改角色自定义字段值事件data.role: 角色信息,data.udv: 更新后的自定义字段信息,data.udf: 自定义字段配置信息
user:archived用户被归档成功事件data.user: 归档后的用户信息
user:unarchived用户被取消归档成功事件data.user: 取消归档后的用户信息
user:blocked用户被锁定事件data.user: 锁定后的用户信息
user:unblocked用户被解除锁定事件data.user: 解除锁定后的用户信息
user:link-account用户社交账号绑定事件data.primaryUser: 主账号用户信息(已废弃),data.secondaryUser:社交账号用户信息(已废弃),data.user:用户信息,data.extIdp:身份源信息,data.identity:绑定的社交身份源信息
application:mfa:enabled应用开启 MFA 认证data.type: 开启的 MFA 类型,data.applicationId: 应用 ID
application:mfa:disabled应用关闭 MFA 认证data.type: 关闭的 MFA 类型,data.applicationId: 应用 ID
group:created创建用户分组data.group: 创建的用户分组信息
group:updated更新用户分组data.group: 更新后的用户分组,data.updates: 更新的字段对象
group:deleted删除用户分组data.id: 删除的分组 ID
group:member-added添加用户到用户分组data.group: 分组信息,data.users: 添加的用户列表
group:member-removed从用户分组移除用户data.group: 分组信息,data.users: 移除的用户列表
organization:created创建顶级部门事件data.organization: 创建的部门信息, data.rootNode: 顶级部门节点信息
organization:deleted删除顶级部门data.organization: 删除的部门信息 ID
organization:node-added创建子部门事件data.node: 创建的部门信息,data.organization:所属根部门,data.parentNode: 父节点
organization:node-updated修改部门信息事件data.node: 更新后的部门信息,data.updates: 更新的字段对象
organization:node-moved移动子部门,管理员手动移动子部门时触发此事件data.node: 移动的部门信息,data.organization: 部门所属根部门,data.parentNode: 移动后的父级部门
organization:node-deleted删除子部门事件data.nodes: 删除的部门列表
organization:member-added添加成员到部门data.node: 添加到的部门,data.user: 添加的用户
organization:member-removed从部门移除成员data.node: 被移除成员所属部门,data.user: 移除的用户
organization:udv-changed修改部门自定义字段值事件data.department: 部门信息,data.udv : 更新后的自定义字段信息,data.udf: 自定义字段配置信息
organization:imported导入组织机构树data.organization: 导入的组织机构树,data.source: 导入源,可能值有 LDAP, ACTIVE_DIRECTORY(Windows AD), WECHATWORK(企业微信), DINGTALK(钉钉), LARK(飞书), EXCEL(Excel), JSON(json 数据)
organization:tree-updated组织机构树更新data.organization: 更新的组织机构,data.newNodes: 新增的节点,data.modifyNodes: 修改的节点,data.removeNodes: 移除的节点,data.source: 更新源,可能值有 LDAP, ACTIVE_DIRECTORY(Windows AD), WECHATWORK(企业微信), DINGTALK(钉钉), LARK(飞书), EXCEL(Excel), JSON(json 数据)
user-pool:cooperator-added用户池添加协作管理员事件data.userId: 添加的协作管理员用户 ID,data.policies: 添加的策略 code 列表,
user-pool:cooperator-removed用户池移除协作管理员事件data.userId: 移除的协作管理员用户 ID
user-pool:secret-refreshed刷新用户池秘钥data.userPool: 刷新秘钥的用户池信息,data.secret: 刷新后的用户池秘钥, data.oldSecret: 刷新前的用户池秘钥
user-pool:udf-added添加用户或角色自定义字段事件data.udf: 添加的自定义字段信息
user-pool:udf-deleted删除用户或角色自定义字段事件data.udf: 删除的自定义字段信息
user-pool:updated更新用户池信息data.userPool: 更新后的用户池信息,data.updates: 更新的字段信息
user-pool:env-added添加环境变量data.envInfo: 添加的环境变量信息
user-pool:env-updated修改环境变量data.envInfo: 修改后的环境变量信息
user-pool:env-deleted删除环境变量data.envsInfo: 删除的环境变量列表
user-pool:launchpad-app-installed安装应用到应用面板data.applicationIds: 安装的应用 ID 列表
user-pool:launchpad-app-uninstalled从应用面板卸载应用data.applicationIds: 卸载的应用 ID 列表
application:created创建应用data.application: 创建的应用信息
application:updated更新应用data.application: 更新后的应用信息,data.updates: 更新的字段对象值
application:deleted删除应用data.application: 删除的应用信息
application:secret-refreshed刷新应用秘钥data.application: 刷新秘钥的应用信,data.secret: 刷新后的应用秘钥, data.oldSecret: 刷新前的应用秘钥息

请求类型

指定发起 Webhook 请求时 Request body 的数据格式,可选值有 application/jsonapplication/x-www-form-urlencoded

附带的数据

每一个事件都会携带一些特定的请求参数。

Request headers

我们会在 HTTP POST 头中携带一些自定义头信息,如下表所示:

Header描述
user-agent值为 'authing-webhook@2.0',表示此次请求来自 GenAuth
x-authing-webhook-secret请求秘钥,值为你在 Webhook 配置中设置的秘钥,对此秘钥进行验证,可以用来防止第三方的恶意请求
x-authing-userpool-idGenAuth 用户池 ID

Request body

请求体中也会携带一些特定参数

参数名描述
eventName事件名称,可能的值为 login, register, user:updated,user:password-changed, user:email-verified
data该事件的对应的详细信息
Request 示例
  • 登录事件(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)

    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
      }
    }
  • 创建用户事件(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 验证事件(mfa:verified)

json
{
  "eventName": "mfa:verified",
  "data": {
    "userId": "6064925fb31803716a9df11f",
    "isValid": false,
    "type": "EMAIL"
  }
}
  • 修改用户信息事件(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"
        }
      }
    }
  • 修改用户拓展信息事件(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": "测试部门",
          "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
        }
      }
    }
  • 删除顶级部门事件(organization:deleted)

json
{
  "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
    }
  }
}
  • 创建子部门事件(organization:node-added)
json
{
  "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": "下级部门测试",
      "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": "测试部门更新",
      "nameI18n": null,
      "description": "",
      "descriptionI18n": null,
      "order": null,
      "code": null,
      "__id": null,
      "__parentid": null,
      "__groupid": null,
      "source": null,
      "dataVersion": null,
      "sourceData": null
    }
  }
}
  • 修改部门信息事件(organization:node-updated)
json
{
  "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": "下级部门测试更新",
      "nameI18n": null,
      "description": "",
      "descriptionI18n": null,
      "order": null,
      "code": null,
      "__id": null,
      "__parentid": null,
      "__groupid": null,
      "source": [],
      "dataVersion": null,
      "sourceData": null
    },
    "updates": {
      "name": "下级部门测试更新",
      "description": ""
    }
  }
}
  • 移动子部门事件(organization:node-moved)
json
{
  "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": "下级部门测试更新",
      "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": "新的父级部门",
      "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": "测试部门更新",
      "nameI18n": null,
      "description": "",
      "descriptionI18n": null,
      "order": null,
      "code": null,
      "__id": null,
      "__parentid": null,
      "__groupid": null,
      "source": null,
      "dataVersion": null,
      "sourceData": null
    }
  }
}
  • 删除子部门事件(organization:node-deleted)
json
{
  "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": "下级部门测试更新",
        "nameI18n": null,
        "description": "",
        "descriptionI18n": null,
        "order": null,
        "code": null,
        "__id": null,
        "__parentid": null,
        "__groupid": null,
        "source": [],
        "dataVersion": null,
        "sourceData": null
      }
    ]
  }
}
  • 添加成员到部门(organization:member-added)
json
{
  "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": "新的父级部门",
      "nameI18n": null,
      "description": null,
      "descriptionI18n": null,
      "order": null,
      "code": null,
      "__id": null,
      "__parentid": null,
      "__groupid": null,
      "source": [],
      "dataVersion": null,
      "sourceData": null
    }
  }
}
  • 从部门移除成员(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": "新的父级部门",
          "nameI18n": null,
          "description": null,
          "descriptionI18n": null,
          "order": null,
          "code": null,
          "__id": null,
          "__parentid": null,
          "__groupid": null,
          "source": [],
          "dataVersion": null,
          "sourceData": null
        }
      }
    }
  • 导入组织机构树(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": "非凡科技",
            "nameI18n": null,
            "description": "从 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": "研发",
                "nameI18n": null,
                "description": "从 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": "前端",
                    "nameI18n": null,
                    "description": "从 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": "后端",
                    "nameI18n": null,
                    "description": "从 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": "从 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": "实习生",
                "nameI18n": null,
                "description": "从 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": "运营",
                "nameI18n": null,
                "description": "从 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": "从 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": "商业化",
                "nameI18n": null,
                "description": "从 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": "保安",
                "nameI18n": null,
                "description": "从 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)

    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": "非凡科技",
            "nameI18n": null,
            "description": "从 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": "研发",
                "nameI18n": null,
                "description": "从 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": "前端",
                    "nameI18n": null,
                    "description": "从 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": "后端",
                    "nameI18n": null,
                    "description": "从 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": "从 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": "实习生",
                "nameI18n": null,
                "description": "从 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": "运营",
                "nameI18n": null,
                "description": "从 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": "从 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": "商业化",
                "nameI18n": null,
                "description": "从 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": "新的保安",
          "nameI18n": null,
          "description": "从 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": []
    }
  • 修改密码事件

    json
    {
      "eventName": "user:password-changed",
      "data": {
        "userId": "5f702fcc913544c358cb2123"
      }
    }
  • 用户邮箱被验证事件

json
{
  "eventName": "user:email-verified",
  "data": {
    "userId": "xxxxx",
    "email": "xxxx"
  }
}
  • 添加授权事件
json
{
  "eventName": "permission:add",
  "data": {
    "userPoolId": "xxxxx",
    "policies": ["xxxx"], // 授权的策略 ID 列表
    "targetType": "USER", // 授权对象类型,USER | ROLE | GROUP | ORG
    "targetIdentifiers": ["xxxx"], // 授权对象 ID 列表,如 用户 ID
    "namespace": "xxxx" // 授权的策略所属的权限组
  }
}
  • 取消授权事件
json
{
  "eventName": "permission:revoke",
  "data": {
    "userPoolId": "xxxxx",
    "policies": ["xxxx"], // 授权的策略 ID 列表
    "targetType": "USER", // 授权对象类型,USER | ROLE | GROUP | ORG
    "targetIdentifiers": ["xxxx"], // 授权对象 ID 列表,如 用户 ID
    "namespace": "xxxx" // 授权的策略所属的权限组
  }
}
  • 用户社交账号绑定事件
json
{
  "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
        }
      ]
    }
  }
}