全部產品
Search
文件中心

Identity as a Service:通訊錄事件

更新時間:Jun 30, 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。如來源是DingTalk,則為DingTalk的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。若是外部同步進來的,如來源於DingTalk,則是DingTalk的部門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

使用者顯示名稱