使用 GenAuth 拓展能力实现自动化
GenAuth 一直以来都致力于提升平台的开放性和可扩展性,以满足不同客户对身份认证、权限管理各种个性化的需求。GenAuth 的扩展性体系目前包含以下形式:
- WebHook 允许你对用户注册、登录、密码重置、邮箱验证、用户信息更新等行为进行监听,系统会在触发特定事件后往你配置的自定义回调地址发送事件,从而对其做一些自定义处理。
- Pipeline 是一组运行在云端的用户自定义 JavaScript 代码,可以让开发者在认证流程中执行自定义代码,实现添加自定义 id_token、非常灵活的访问控制等。
- 自定义数据库能够让 GenAuth 与你自定义的数据库进行交互,也可以实现不停机的用户数据上云迁移。
流水线 Pipeline
简介
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 模版函数。
- 选择某个触发场景:

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

第二步:创建一个 Pipeline 函数
- 这里我们设置的域名白名单是
example.com,你也可以自定义。

- 点击左下角的 创建 按钮,我们将此函数部署到云端,需要一定时间,请耐心等待。
页面返回到 Pipeline 函数列表页,可以看到我们刚刚添加的 Pipeline 函数。

TIP
如果你有多个 Pipeline 函数,可以拖拽最左侧按钮进行排序。
第三步:验证白名单是否有效
- 首先使用非
example.com后缀的邮箱注册,系统提示「Access Denied.」提示,这是我们在自定义 Pipeline 函数中自己指定的提示信息。

- 之后再使用后缀为
example.com的邮箱注册,注册成功!

第四步:接下来你可能还需要
- 详细阅读 Pipeline 函数开发指南。
- 了解可以在 pipe 函数中获取那些请求信息:user 对象 和 context 对象。
- 了解如何 在 Pipeline 中使用环境变量。
- 了解在 Pipeline 函数中 可用的 Node Modules。你可以直接使用 Node.js/JavaScript!
- 我们提供了很多丰富的 Pipeline 函数模板。
- 我们还提供了方便的 在线调试手段,方便开发者在线调试。
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 函数定义:
async function pipe(user, context, callback)参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| user | object | 当前请求用户。详细说明请见 user 对象。 |
| context | object | 请求认证上下文。详细说明请见 context 对象。 |
| callback | function | 回调函数,使用文档见下文。 |
DANGER
请勿重命名 pipe 函数!
TIP
注册前触发的 Pipeline 函数的 user 参数为空,因为此时用户对象还没有生成。
当使用编程访问账号进行认证时,OIDC Access Token 签发前触发的 Pipeline 函数的 user 参数为空,因为编程访问账号不存在用户的概念。
TIP
pipe 函数支持 async / await 语法!
callback 函数
定义:
function callback(error, user, context)当你的 Pipeline 函数完成了所需处理,需要向 GenAuth 的后端返回数据,或是需要中断认证流程时,都需要在代码返回前调用 callback 函数。
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| error | object | 错误对象。如果不为 null,整个认证流程将会中断,直接返回错误给前端。 |
| user | object | 作为返回值的用户对象,其值将会被后端利用,同时用作下一个 Pipeline 函数的参数。 |
| context | object | 作为返回值的上下文对象,其值将会被后端利用,同时用作下一个 Pipeline 函数的参数。 |
DANGER
如果 error 参数不为 null ,请务必将最新的 user 和 context 传给 callback 函数,否则之后的 Pipeline 函数将无法正常工作。
设置异步执行
设置为异步执行( 这里的异步非语言层面上 )的 pipeline 函数不会阻塞注册、登录、OIDC 流程的执行,callback 函数传入的参数对后续流程无影响,适用于进行异步通知的场景,比如飞书群通知、钉钉群通知、触发外部系统统计等。
如下图所示,勾选上此框表示让该 pipeline 函数异步执行:

Pipeline 函数示例
这里我们实现一个注册邮箱后缀白名单的 Pre-Register Pipeline。
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 通知
扩展用户字段
- 添加用户自定义字段
- 修改默认头像
- 每次用户登录时将最新位置写入其 MetaData
- 使用 ui-avatars API 动态生成头像
- 补充用户地理位置信息字段
- 通过 GitHub API 获取用户 repo 列表
访问控制
- 注册邮箱后缀白名单
- 通过 API 动态加载白名单
- 强制邮箱验证之后才能登录
- 强制手机号验证之后才能登录
- 注册 IP 段白名单
- 根据 IP 风险评分屏蔽用户
- 注册手机号白名单
- 禁止特定方式注册/登录
- 每周日凌晨 3-6 点系统维护禁止注册/登录
OIDC 认证流程
user 对象
user 对象中保存了当前用户的各种数据,以及用于添加自定义字段、自定义 token 字段的方法。
INFO
Pre-Register(注册前) Pipeline 的 user 对象含有用户注册时填入的信息,但没有实际写入数据库。
仅支持在认证前、后在 Pipeline 中修改用户信息 ( user 对象 )。在其他节点(如 Token 签发前、后)并不支持直接在 Pipeline 中修改用户信息。
属性
| 属性名 | 值类型 | 说明 |
|---|---|---|
| id | string | 用户 ID |
| username | string | 用户名 |
| string | 邮箱 | |
| emailVerified | boolean | 邮箱是否已验证 |
| phone | string | 手机号 |
| phoneVerified | boolean | 手机号是否已验证 |
| photo | string | 头像链接 |
| nickname | string | 昵称 |
| gender | string | 性别 |
| lastLogin | string | 上次登录时间,格式为 2020-02-07T04:29:40.877Z |
| company | string | 公司名 |
| browser | string | 注册浏览器 |
| device | string | 注册设备 |
| country | string | 国家 |
| region | string | 地区 |
| address | string | 地址 |
方法
| 方法名 | 说明 | 示例代码 |
|---|---|---|
| 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, 地址等。
属性
| 属性名 | 类型 | 说明 |
|---|---|---|
| protocol | string | 认证协议。具体说明见下文。 |
| connection | string | 身份提供方。具体说明见下文。 |
| userPoolId | string | 用户池 ID |
| userPoolName | string | 用户池 名称 |
| userPoolMetadata | object | 用户池配置 |
| appId | string | 当前用户的 ID |
| appName | string | 当前应用的 名称 |
| appMetadata | object | 当前应用的配置信息 |
| request | object | 当前请求的详细信息,包括: ip: 客户端 IP geo: 通过 IP 解析的客户端地理位置 body: 请求体 query: query string 对象,你可以通过 request.query.xxx 获取对应 query 参数 |
| accessTokenTarget | Enum: 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 等字段不一定同时存在,使用前请先判断其是否存在!如
const email = context.request.body.email;
if (email) {
// 表示是用邮箱注册
// 可以进行邮箱注册白名单的逻辑
if (!email.endsWith("example.com")) {
return callback(new Error("Access Denied!"));
}
}| 字段名 | 类型 | 是否一定存在 | 说明 |
|---|---|---|---|
| username | string | 否 | 用户名,使用用户名注册的时候不为空。 |
| string | 否 | 邮箱,使用用户名注册的时候不为空。 | |
| phone | string | 否 | 手机号,使用手机号注册的时候不为空。 |
| forceLogin | boolean | 否 | 注册时候是否自动进行登录流程,默认为 false |
| profile | object | 是 | 用户注册所填的数据用户信息 |
认证前、认证后
认证前、认证后 Pipeline 中 data 对象部分请求字段如下:
WARNING
这些字段不一定全部存在,使用前请先判断是否存在!
| 字段名 | 类型 | 是否一定存在 | 说明 |
|---|---|---|---|
| username | string | 否 | 用户名,使用用户名登录的时候不为空。 |
| string | 否 | 邮箱,使用邮箱登录的时候不为空。 | |
| phone | string | 否 | 手机号,使用手机号登录的时候不为空。 |
userPool 对象
用户池相关信息。
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | string | 用户池 ID |
| name | string | 用户池名称 |
geo 属性
示例数据:
{
"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 值。如下面这个用户注册之后触发飞书群通知的例子:
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
- 网络请求库 axios
- lodash
- GenAuth 内置工具集函数 utils
GenAuth SDK for Node.js
DANGER
出于安全考虑, GenAuth 会通过特殊方式,使用你的用户池 ID(userPoolId) 和用户池密钥(secret) 初始化 authing-js-sdk,此过程不会将你的用户池密钥发送到公网。你可以使用使用全局变量 authing,请勿再次初始化 SDK!
开发者可以直接使用初始化过后的 authing 实例,无需手动初始化!GenAuth Pipeline 会自动帮助开发者 take care 初始化过程。
如下所示:
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
需要开发者手动导入:
const lodash = require("lodash")详细文档请移步其官方文档。
内置工具集 utils
GenAuth 内置封装了一些实用的函数,供开发者直接调用。
需要开发者手动导入:
const utils = require("./utils")检查 IP 是否位于 IP 段内
使用方法:
utils.ipRangeCheck(IP, [start, end])返回值为 boolean。
示例:以下 Pipeline 函数实现注册 IP 段白名单功能。
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 。
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
Webhook 允许你对用户注册、登录等行为进行监听,从而对其做一些自定义处理。
使用 Webhook 的方法是在 GenAuth 平台中配置 HTTP URL,当你的用户登录、注册、修改密码后,都会给远程 HTTP URL 发送一个 POST 请求。
配置 Webhooks
在 自动化->Webhooks 页面,可以管理你定义的 webhook:
- 点击添加 Webhook 按钮 可以创建新的 Webhook 订阅特定事件。

- 填写表单勾选 Webhook 事件。


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

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

INFO
Webhook 测试

请求数据为:
{
"description": "A test from Authing Webhook"
}测试成功后你将看到详细的请求信息和返回信息。
支持的事件
事件列表
| 事件名 | 事件描述 | 事件参数 |
|---|---|---|
| login | 登录事件,当用户进行登录时会触发此事件,无论是否登录成功都会触发。 | 登录用户的用户信息 |
| register | 注册事件,当用户注册、管理员手动创建用户或导入用户时会触发此事件 | 注册用户的用户信息 |
| refresh-token | oidc refresh token 事件 | data.user: 用户信息,data.nextIdToken:新的 idToken,data.nextAccessToken:新的 accessToken,data.currRefreshToken:当前 refresh token,data.nextRefreshToken:新的 refreshToken,若未开启 refresh token 轮换,将与 currRefreshToken 一致 |
| user:created | 创建用户事件,当用户注册、管理员手动创建用户或导入用户时会触发此事件,与 register 触发的逻辑一样,一般只需监听其中一个事件即可 | 创建的用户的用户信息 |
| mfa:verified | MFA 验证事件,当用户登录并触发了 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/json 和 application/x-www-form-urlencoded。
附带的数据
每一个事件都会携带一些特定的请求参数。
Request headers
我们会在 HTTP POST 头中携带一些自定义头信息,如下表所示:
| Header | 描述 |
|---|---|
user-agent | 值为 'authing-webhook@2.0',表示此次请求来自 GenAuth |
x-authing-webhook-secret | 请求秘钥,值为你在 Webhook 配置中设置的秘钥,对此秘钥进行验证,可以用来防止第三方的恶意请求 |
x-authing-userpool-id | GenAuth 用户池 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)
{
"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)
{
"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)
{
"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)
{
"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)
{
"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)
{
"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)
{
"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" } }用户邮箱被验证事件
{
"eventName": "user:email-verified",
"data": {
"userId": "xxxxx",
"email": "xxxx"
}
}- 添加授权事件
{
"eventName": "permission:add",
"data": {
"userPoolId": "xxxxx",
"policies": ["xxxx"], // 授权的策略 ID 列表
"targetType": "USER", // 授权对象类型,USER | ROLE | GROUP | ORG
"targetIdentifiers": ["xxxx"], // 授权对象 ID 列表,如 用户 ID
"namespace": "xxxx" // 授权的策略所属的权限组
}
}- 取消授权事件
{
"eventName": "permission:revoke",
"data": {
"userPoolId": "xxxxx",
"policies": ["xxxx"], // 授权的策略 ID 列表
"targetType": "USER", // 授权对象类型,USER | ROLE | GROUP | ORG
"targetIdentifiers": ["xxxx"], // 授权对象 ID 列表,如 用户 ID
"namespace": "xxxx" // 授权的策略所属的权限组
}
}- 用户社交账号绑定事件
{
"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
}
]
}
}
}