基礎說明
本文檔用於開發人員對接 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\"}"
}
]
}
}
應用成功接收後,應用側必須在返回請求,並確保欄位 successEvents
中 eventId
與請求中保持一致。
否則測試請求將失敗。
{
"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 | 手機號是否驗證過,暫時不進行驗證。 |
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 | 使用者顯示名稱 |