全部产品
Search
文档中心

应用身份服务:通讯录事件

更新时间:Apr 02, 2024

基础说明

本文档用于开发者对接 IDaaS 应用同步的能力,并详细列明了具体事件参数。

若您希望了解对接原理和调用流程,请参考 账户同步接入概述

我们可以将所有 IDaaS 中通讯录事件分为三大类。

一、测试事件

管理员在完成应用同步配置后,可通过【测试连接】按钮,检查配置是否成功。

使用该功能,应用能够接收特殊的测试事件。

二、增量事件

增量事件指由 IDaaS 中发生的变化自动触发的操作。

通常用于 IDaaS 和应用之间数的持续、增量的同步。

三、全量事件

全量事件指管理员从 IDaaS 页面明确手动触发的同步操作。

通常用于将 IDaaS 中数据一次性导入至应用中。

事件清单

事件模块

事件类型

类型代码

测试事件

测试连接

urn:alibaba:idaas:app:event:common:test

通讯录

增量事件

账户创建

urn:alibaba:idaas:app:event:ud:user:create

账户删除

urn:alibaba:idaas:app:event:ud:user:delete

账户基础信息更新

urn:alibaba:idaas:app:event:ud:user:update_info

账户密码更新

urn:alibaba:idaas:app:event:ud:user:update_password

账户禁用

urn:alibaba:idaas:app:event:ud:user:disable

账户启用

urn:alibaba:idaas:app:event:ud:user:enable

账户锁定

urn:alibaba:idaas:app:event:ud:user:lock

账户解锁

urn:alibaba:idaas:app:event:ud:user:unlock

账户移动

urn:alibaba:idaas:app:event:ud:user:update_primary_ou

组织创建

urn:alibaba:idaas:app:event:ud:organizational_unit:create

组织删除

urn:alibaba:idaas:app:event:ud:organizational_unit:delete

组织更新

urn:alibaba:idaas:app:event:ud:organizational_unit:update

组织移动

urn:alibaba:idaas:app:event:ud:organizational_unit:update_parent_organizational_unit

组创建

urn:alibaba:idaas:app:event:ud:group:create

组基础信息更新

urn:alibaba:idaas:app:event:ud:group:update

组删除

urn:alibaba:idaas:app:event:ud:group:delete

组添加成员

urn:alibaba:idaas:app:event:ud:group:add_user

组移除成员

urn:alibaba:idaas:app:event:ud:group:remove_user

通讯录

全量事件

全量推送组织

urn:alibaba:idaas:app:event:ud:organizational_unit:push

全量推送账户

urn:alibaba:idaas:app:event:ud:user:push

全量推送组

urn:alibaba:idaas:app:event:ud:group:push

数据安全性

所有的账户/组织事件,IDaaS 均会将完整的账户/组织信息作为参数,传递给事件监听方。

若数据中有敏感信息,推荐通过 HTTPs 加密通道或勾选【业务数据加密】,对传输过程进行保护。

测试连接

测试配置信息的连通性,验证验签和加密能力。

一键测试时是单独的事件订阅类型:urn:alibaba:idaas:app:event:common:test

说明

该事件仅支持在控制台中通过一键测试使用,不支持接口调用。

请求参数验签后 payload 示例:

{
  "iss": "urn:alibaba:idaas:app:event",
  "sub": "idaas_rhhoqmlnyu3cv7ow657gyvurky",
  "aud": "app_mjavzivahje6zxkbc4i2bierdu",
  "exp": 1648711369,
  "iat": 1648709570,
  "jti": "bNRrCYrqXjqe8B1xweqlZw",
  "dataEncrypted": false,
  "cipherData": "",
  "plainData": {
    "instanceId": "idaas_rhhoqmlnyu3cv7ow657gyvurky",
    "aliUid": 151971404963****,
    "eventVersion": "V1.0",
    "eventData": [
         {
          "eventId":"evnt_aaaac766x2somw2ptotoyk6ag6bmfkt5xpqprpq",
          "eventType":"urn:alibaba:idaas:app:event:common:test",
          "eventTime":"1648709509849",
          "bizId":"evnt_aaaac766x2somw2ptotoyk6ag6bmfkt5xpqprpq",
          "bizData":"{\"bizData\":\"req_xxxxxxxxxxsdfsdfsfd\"}"
         }
     ]
  }
}

应用成功接收后,应用侧必须在返回请求,并确保字段 successEventseventId 与请求中保持一致。

否则测试请求将失败。

{
  "successEvents": [
    {
      "eventId": "evnt_aaaac766x2somw2ptotoyk6ag6bmfkt5xpqprpq",
      "eventCode": "SUCCESS",
      "eventMessage": "SUCCESS"
    }
  ],
  "skippedEvents": [
    {
      "eventId": "",
      "eventCode": "",
      "eventMessage": ""
    }
  ],
  "failedEvents": [
    {
      "eventId": "",
      "eventCode": "",
      "eventMessage": ""
    }
  ],
  "retriedEvents": [
    {
      "eventId": "",
      "eventCode": "",
      "eventMessage": ""
    }
  ]
}

账户创建

通过该事件订阅员工入职。

事件类型:urn:alibaba:idaas:app:event:ud:user:create

解析后的 bizData 示例:

{
    "password": "ssGp96", 
    "userId": "user_4alcbywzc7jyl23lu2srljsw7i", 
    "username": "zhangsan", 
    "displayName": "张三", 
    "passwordSet": true, 
    "phoneRegion": "", 
   "phoneNumber": "155****5620",
    "phoneVerified": false, 
    "email":"zh***@163.com",
    "emailVerified": false, 
    "userExternalId": "user_4alcbywzc7jyl23lu2srljsw7i", 
    "userSourceType": "build_in", 
    "userSourceId": "idaas_rhhoqmlnyu3cv7ow657gyvurky", 
    "status": "enabled", 
    "accountExpireTime": "-1", 
    "registerTime": "1648531553621", 
    "lockExpireTime": "-1", 
    "createTime": "1648531553621", 
    "updateTime": "1648531553621", 
    "description": "", 
    "customFields": [
        {
            "fieldName": "test_custom_field", 
            "fieldValue": "test_value"
        }
    ],
    "primaryOrganizationalUnitId": "ou_bvluxnp2ef36uupdwob6km34a4",
    "organizationalUnits": [
        {
            "organizationalUnitId": "ou_bvluxnp2ef36uupdwob6km34a4", 
            "organizationalUnitName": "研发部", 
            "primary": true
        }
    ]
}

参数说明:

参数

字段类型

说明

userId

String

用户唯一id

username

String

用户名

displayName

String

显示名称,一般为用户姓名

passwordSet

boolean

是否设置密码

phoneRegion

String

手机号区号

phoneNumber

String

手机号

phoneVerified

boolean

手机号是否验证过,暂时不进行验证。

email

String

邮箱

emailVerified

boolean

邮箱是否验证过,暂时不进行验证。

userExternalId

String

外部id。若是自建账户则和 userId 一致;若是外部同步的账户,则为来源的用户id。如来源是钉钉,则为钉钉的userId。

userSourceType

String

来源类型,若为自建账户,则为 "build_id"。

userSourceId

String

来源类型 id

password

String

密码。若同步应用开启同步密码,且用户设置密码,会传该值

status

String

状态:enabled-启用,disabled-禁用

accountExpireTime

Long

用户过期时间

registerTime

Long

注册时间

lockExpireTime

Long

锁定到期时间。即到该时间点则解锁

createTime

Long

创建时间

updateTime

Long

修改时间

description

String

描述

customFields

List

扩展字段列表

-fieldName

String

字段名称标识

-fieldValue

String

字段值

primaryOrganizationalUnitId

String

所属主组织机构

organizationalUnits

List

所属组织机构列表

-organizationalUnitId

String

所属组织机构唯一id

-organizationalUnitName

String

所属组织机构名称。

-primary

boolean

所属主组织机构。true-所属主组织机构,false-非主组织机构

账户删除

当员工离职时,通讯录发生变更,可订阅该事件。

事件类型:urn:alibaba:idaas:app:event:ud:user:delete

解析后的 bizData 示例:同账户创建。

账户基础信息更新

若员工基本信息发生变更。如手机号,邮箱,姓名等发生变更,应用需要及时收到变更的信息,可通过订阅该事件。

事件类型:urn:alibaba:idaas:app:event:ud:user:update_info

解析后的 bizData 示例:同账户创建。

账户密码更新

当账户密码发生变更时,如:管理员重置密码,用户修改密码。应用可通过订阅此事件,收到账户最新密码。

注意:在订阅该事件时,同时还需要配置同步范围,才会生效。否则不同步。请参考 账户同步 - IDaaS 同步到应用

事件类型:urn:alibaba:idaas:app:event:ud:user:update_password

解析后的 bizData 示例:同账户创建。

账户启用

账户状态发生变更,从禁用状态修改为启用状态,可订阅该事件。

事件类型:urn:alibaba:idaas:app:event:ud:user:enable

解析后的bizData示例:同账户创建。

账户禁用

账户状态发生变更,从启用状态修改为禁用状态,可订阅该事件。

事件类型:urn:alibaba:idaas:app:event:ud:user:disable

解析后的bizData示例:同账户创建。

账户锁定

账户状态发生变更,如输错多次密码,导致账号锁定,暂不可用,可订阅该事件。

事件类型:urn:alibaba:idaas:app:event:ud:user:lock

解析后的bizData示例:同账户创建。

账户解锁

账户状态发生变更,由锁定状态变为正常状态,可订阅该事件。

事件类型:urn:alibaba:idaas:app:event:ud:user:unlock

解析后的bizData示例:同账户创建。

账户移动

账户所属主组织机构变更,可订阅该事件。

事件类型:urn:alibaba:idaas:app:event:ud:user:update_primary_ou

解析后的bizData示例:同账户创建

组织创建

可通过该事件订阅创建组织机构。

事件类型:urn:alibaba:idaas:app:event:ud:organizational_unit:create

解析后的bizData示例:

{
    "organizationalUnitId": "ou_dqdvxesykpfhig2kvgrzpeoeyu", 
    "organizationalUnitName": "组织部", 
    "parentId": "ou_dqdvxesykpdfasdfaseoeyu", 
    "organizationalUnitExternalId": "ou_dqdvxesykpfhig2kvgrzpeoeyu", 
    "organizationalUnitSourceType": "build_in", 
    "organizationalUnitSourceId": "idaas_rhhoqmlnyu3cv7ow657gyvurky", 
    "createTime": "1648451475209", 
    "updateTime": "1648451475209",
    "description":"自建"
}

参数说明:

参数

字段类型

说明

organizationalUnitId

String

组织唯一id

organizationalUnitName

String

组织名称。

parentId

String

父级组织机构id

organizationalUnitExternalId

String

外部id,若组织是自建的则是

organizationalUnitId。若是外部同步进来的,如来源于钉钉,则是钉钉的部门id。

organizationalUnitSourceType

String

来源类型

organizationalUnitSourceId

String

来源类型id

createTime

Long

创建时间

updateTime

Long

修改时间,同lastUpdatedTime

description

String

描述

组织删除

可通过该事件订阅删除组织机构。

事件类型:urn:alibaba:idaas:app:event:ud:organizational_unit:delete

解析后的bizData示例:同组织创建。

组织更新

可通过该事件订阅修改组织机构基础信息,如组织机构名称。

事件类型:urn:alibaba:idaas:app:event:ud:organizational_unit:update

解析后的bizData示例:同组织创建。

组织移动

可通过该事件订阅组织机构更新父组织机构。

事件类型:urn:alibaba:idaas:app:event:ud:organizational_unit:update_parent_organizational_unit

解析后的bizData示例:同组织创建。

组创建

可通过该事件订阅组创建。

事件类型:urn:alibaba:idaas:app:event:ud:group:create

解析后的 bizData 示例

{
    "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha",
    "groupName": "test_2024",
    "groupExternalId": "test_2024"
}

参数说明:

参数

字段类型

说明

groupId

String

组唯一标识

groupName

String

组显示名称

groupExternalId

String

组外部Id

allMembers

List

组当前全部成员

memberId

String

用户唯一标识

memberName

String

用户显示名称

组基础信息更新

可通过该事件订阅组基础信息更新。

事件类型:urn:alibaba:idaas:app:event:ud:group:update

解析后的 bizData 示例:同组创建。

组删除

可通过该事件订阅组删除。

事件类型:urn:alibaba:idaas:app:event:ud:group:delete

解析后的 bizData 示例:同组创建。

组添加成员

可通过该事件订阅组添加成员。

事件类型:urn:alibaba:idaas:app:event:ud:group:add_user

解析后的 bizData 示例

{
    "addedMembers": [
        {
            "memberId": "user_zakg7oeeaftqqff2bzcv7wpqs4",
            "memberName": "小明"
        }
    ],
    "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha",
    "groupName": "test_2024_test",
    "groupExternalId": "test_2024"
}

参数说明:

参数

字段类型

说明

groupId

String

组唯一标识

groupName

String

组显示名称

groupExternalId

String

组外部Id

addedMembers

List

需要添加的成员

-memberId

String

用户唯一标识

-memberName

String

用户显示名称

组移除成员

可通过该事件订阅组移除成员。

事件类型:urn:alibaba:idaas:app:event:ud:group:remove_user

解析后的 bizData 示例

{
    "removedMembers": [
        {
            "memberId": "user_zakg7oeeaftqqff2bzcv7wpqs4",
            "memberName": "小明"
        }
    ],
    "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha",
    "groupName": "test_2024_test",
    "groupExternalId": "test_2024"
}

参数说明:

参数

字段类型

说明

groupId

String

组唯一标识

groupName

String

组显示名称

groupExternalId

String

组外部Id

removedMembers

List

需要移除的成员

-memberId

String

用户唯一标识

-memberName

String

用户显示名称

全量推送组织机构

事件类型:urn:alibaba:idaas:app:event:ud:organizational_unit:push

解析后的 bizData 示例:同组织创建。

全量推送账户

事件类型:urn:alibaba:idaas:app:event:ud:user:push

解析后的 bizData 示例:同账户创建。

全量推送组

可通过该事件订阅全量推送组。

事件类型:urn:alibaba:idaas:app:event:ud:group:push

解析后的 bizData 示例

{
    "allMembers": [
        {
            "memberId": "user_zakg7oeeaftqqff2bzcv7wpqs4",
            "memberName": "小明"
        },
        {
            "memberId": "user_zakg7oeea1234ff2bzcexample",
            "memberName": "张三"
        }
    ],
    "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha",
    "groupName": "test_2024",
    "groupExternalId": "test_2024"
}

参数说明:

参数

字段类型

说明

groupId

String

组唯一标识

groupName

String

组显示名称

groupExternalId

String

组外部Id

allMembers

List

组当前全部成员

-memberId

String

用户唯一标识

-memberName

String

用户显示名称