Panduan ini menjelaskan mekanisme callback event Alibaba Cloud IDaaS (EIAM), termasuk cara mengintegrasikan fitur sinkronisasi aplikasi, memahami parameter event, dan mencapai integrasi sistem yang efisien.
Jenis event
Bagian ini menjelaskan kategori event. Untuk penjelasan prinsip integrasi dan alur pemanggilan secara mendetail, lihat Ikhtisar Sinkronisasi Akun.
-
Test event
Untuk memvalidasi konfigurasi sinkronisasi aplikasi, administrator mengklik tombol The test is successful., yang memicu test event untuk diverifikasi oleh aplikasi.
-
Incremental event
Perubahan pada direktori internal IDaaS secara otomatis memicu incremental event. Event ini digunakan untuk memperbarui dan menyinkronkan data secara berkelanjutan antara IDaaS dan aplikasi pihak ketiga. Dengan mendengarkan event ini, konsistensi data antara kedua sistem tetap terjaga—ideal untuk sinkronisasi real-time atau near-real-time.
-
Full event
Full event adalah operasi sinkronisasi yang dipicu secara manual oleh administrator melalui Konsol IDaaS untuk mengimpor seluruh data dari IDaaS ke aplikasi target. Event ini biasanya digunakan saat integrasi awal atau ketika diperlukan penyegaran data lengkap.
Daftar event
|
Event Module |
Jenis Peristiwa |
Kode tipe |
|
Test event |
urn:alibaba:idaas:app:event:common:test |
|
|
Directory Incremental event |
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 |
||
|
Directory Full event |
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 |
Untuk semua event akun dan unit organisasi, IDaaS mengirim informasi akun atau unit organisasi lengkap sebagai parameter ke pendengar event. Jika datanya sensitif, gunakan saluran HTTPS atau aktifkan opsi business data encryption untuk melindunginya selama transmisi.
Test event
Test connection
Uji coba ini memverifikasi konektivitas, verifikasi signature, dan konfigurasi enkripsi Anda.
Test event menggunakan tipe event khusus: urn:alibaba:idaas:app:event:common:test.
Event ini hanya dapat dipicu melalui uji coba satu klik di Konsol; panggilan API tidak didukung.
Contoh berikut menunjukkan payload setelah signature parameter permintaan telah diverifikasi:
{
"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\"}"
}
]
}
}
Setelah menerima event, aplikasi Anda harus mengembalikan respons. Pastikan eventId dalam bidang successEvents sesuai dengan eventId dari permintaan.
Jika tidak, permintaan uji coba gagal.
{
"successEvents": [
{
"eventId": "evnt_aaaac766x2somw2ptotoyk6ag6bmfkt5xpqprpq",
"eventCode": "SUCCESS",
"eventMessage": "SUCCESS"
}
],
"skippedEvents": [
{
"eventId": "",
"eventCode": "",
"eventMessage": ""
}
],
"failedEvents": [
{
"eventId": "",
"eventCode": "",
"eventMessage": ""
}
],
"retriedEvents": [
{
"eventId": "",
"eventCode": "",
"eventMessage": ""
}
]
}
Incremental address book event
User events
-
Account creation
Berlangganan event ini untuk menangani onboarding karyawan.
Jenis event: urn:alibaba:idaas:app:event:ud:user:create.
Contoh
bizDatayang telah diurai:{ "password": "ssGp96", "userId": "user_4alcbywzc7jyl23lu2srljsw7i", "username": "zhangsan", "displayName": "Zhang San", "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": "R&D Department", "primary": true } ] }Parameter
Parameter
Tipe
Deskripsi
userId
String
ID pengguna unik.
username
String
Username.
displayName
String
Nama tampilan, biasanya nama lengkap pengguna.
passwordSet
boolean
Menunjukkan apakah password telah ditetapkan.
phoneRegion
String
Kode wilayah telepon.
phoneNumber
String
Nomor telepon.
phoneVerified
boolean
Menunjukkan apakah nomor telepon telah diverifikasi. Saat ini, verifikasi ini tidak dilakukan.
email
String
Alamat email.
emailVerified
boolean
Menunjukkan apakah alamat email telah diverifikasi. Saat ini, verifikasi ini tidak dilakukan.
userExternalId
String
ID eksternal. Untuk akun yang dibuat sendiri, nilai ini sama dengan
userId. Untuk akun yang disinkronkan dari sumber eksternal, ini adalah ID pengguna dari sumber tersebut. Misalnya, jika pengguna berasal dari DingTalk, ini adalahuserIdDingTalk mereka.userSourceType
String
Jenis sumber akun. Untuk akun yang dibuat sendiri, nilainya adalah
build_in.userSourceId
String
ID sumber akun.
password
String
Password. Parameter ini disertakan jika sinkronisasi password diaktifkan untuk aplikasi dan pengguna telah menetapkan password.
status
String
Status akun. Nilai yang valid:
enableddandisabled.accountExpireTime
Long
Waktu kedaluwarsa akun.
registerTime
Long
Waktu pendaftaran.
lockExpireTime
Long
Waktu kedaluwarsa kunci. Akun akan dibuka kuncinya pada waktu ini.
createTime
Long
Waktu pembuatan.
updateTime
Long
Waktu modifikasi terakhir.
description
String
Deskripsi.
customFields
List
Bidang ekstensi.
-fieldName
String
Nama bidang.
-fieldValue
String
Nilai bidang.
primaryOrganizationalUnitId
String
ID unit organisasi utama.
organizationalUnits
List
Daftar unit organisasi tempat pengguna tergabung.
-organizationalUnitId
String
ID unit organisasi.
-organizationalUnitName
String
Nama unit organisasi.
-primary
boolean
Menunjukkan apakah ini unit organisasi utama pengguna.
trueuntuk unit utama;falsejika tidak. -
Account deletion
Berlangganan event ini untuk menangani offboarding karyawan. Event ini dipicu saat akun dihapus dari buku alamat.
Jenis event: urn:alibaba:idaas:app:event:ud:user:delete.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun. -
Account basic information update
Berlangganan event ini untuk menerima pembaruan tepat waktu saat informasi dasar pengguna—seperti nomor telepon, alamat email, atau nama—berubah.
Jenis event: urn:alibaba:idaas:app:event:ud:user:update_info.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun. -
Account password update
Event ini dipicu saat kata sandi pengguna diubah, baik oleh pengguna maupun administrator. Berlangganan event ini untuk menerima kata sandi baru.
PentingCatatan: Anda harus mengonfigurasi cakupan sinkronisasi untuk menerima event ini. Jika tidak, sistem tidak akan mengirimkannya. Untuk informasi lebih lanjut, lihat Sinkronisasi Akun – Sinkronkan dari IDaaS ke Aplikasi.
Jenis event: urn:alibaba:idaas:app:event:ud:user:update_password.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun. -
Account enable
Berlangganan event ini untuk diberi tahu saat status akun berubah dari disabled menjadi enabled.
Jenis event: urn:alibaba:idaas:app:event:ud:user:enable.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun. -
Account disable
Berlangganan event ini untuk diberi tahu saat status akun berubah dari enabled menjadi disabled.
Jenis event: urn:alibaba:idaas:app:event:ud:user:disable.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun. -
Account lock
Berlangganan event ini untuk diberi tahu saat akun dikunci, misalnya karena beberapa kali percobaan kata sandi salah.
Jenis event: urn:alibaba:idaas:app:event:ud:user:lock.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun. -
Account unlock
Berlangganan event ini untuk diberi tahu saat akun yang terkunci dibuka kuncinya.
Jenis event: urn:alibaba:idaas:app:event:ud:user:unlock.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun. -
Account move
Berlangganan event ini untuk diberi tahu saat unit organisasi utama akun berubah.
Jenis event: urn:alibaba:idaas:app:event:ud:user:update_primary_ou.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun.
Organizational unit (OU) events
-
Organizational unit creation
Berlangganan event ini untuk menangani pembuatan unit organisasi.
Jenis event: urn:alibaba:idaas:app:event:ud:organizational_unit:create.
Contoh muatan
bizData:{ "organizationalUnitId": "ou_dqdvxesykpfhig2kvgrzpeoeyu", "organizationalUnitName": "Organization Department", "parentId": "ou_dqdvxesykpdfasdfaseoeyu", "organizationalUnitExternalId": "ou_dqdvxesykpfhig2kvgrzpeoeyu", "organizationalUnitSourceType": "build_in", "organizationalUnitSourceId": "idaas_rhhoqmlnyu3cv7ow657gyvurky", "createTime": "1648451475209", "updateTime": "1648451475209", "description":"Self-built" }Parameter
Parameter
Type
Deskripsi
organizationalUnitId
String
ID unik unit organisasi.
organizationalUnitName
String
Nama unit organisasi.
parentId
String
ID unit organisasi induk.
organizationalUnitExternalId
String
ID eksternal. ID ini sama dengan
organizationalUnitIdjika unit organisasi dibuat secara internal. Jika disinkronkan dari sumber eksternal seperti DingTalk, ID ini sesuai dengan ID departemen dari sumber tersebut.organizationalUnitSourceType
String
Jenis sumber.
organizationalUnitSourceId
String
ID sumber.
createTime
Long
Waktu pembuatan.
updateTime
Long
Waktu modifikasi terakhir.
description
String
Deskripsi unit organisasi.
-
Organizational unit deletion
Berlangganan event ini untuk menangani penghapusan unit organisasi.
Jenis event: urn:alibaba:idaas:app:event:ud:organizational_unit:delete.
Muatan
bizDataidentik dengan muatan untuk pembuatan unit organisasi. -
Organizational unit update
Berlangganan event ini untuk menangani pembaruan informasi dasar unit organisasi, seperti namanya.
Jenis event: urn:alibaba:idaas:app:event:ud:organizational_unit:update.
Muatan
bizDataidentik dengan muatan untuk pembuatan unit organisasi. -
Organizational unit move
Berlangganan event ini untuk menangani pemindahan unit organisasi ke induk baru.
Jenis event: urn:alibaba:idaas:app:event:ud:organizational_unit:update_parent_organizational_unit.
Muatan
bizDataidentik dengan muatan untuk pembuatan unit organisasi.
Group events
-
Group creation
Gunakan event ini untuk menangani pembuatan grup.
Jenis event: urn:alibaba:idaas:app:event:ud:group:create.
Contoh
bizDatayang telah diurai:{ "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha", "groupName": "test_2024", "groupExternalId": "test_2024" }Parameter:
Parameter
Tipe
Deskripsi
groupId
String
Identifier unik untuk grup.
groupName
String
Nama tampilan grup.
groupExternalId
String
ID eksternal grup.
allMembers
List
Semua anggota saat ini dari grup.
memberId
String
Identifier unik untuk pengguna.
memberName
String
Nama tampilan pengguna.
-
Basic information update
Gunakan event ini untuk menangani pembaruan informasi dasar grup.
Jenis event: urn:alibaba:idaas:app:event:ud:group:update.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan grup. -
Group deletion
Gunakan event ini untuk menangani penghapusan grup.
Jenis event: urn:alibaba:idaas:app:event:ud:group:delete.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan grup. -
Member addition
Gunakan event ini untuk menangani penambahan anggota ke grup.
Jenis event: urn:alibaba:idaas:app:event:ud:group:add_user.
Contoh
bizDatayang telah diurai:{ "addedMembers": [ { "memberId": "user_zakg7oeeaftqqff2bzcv7wpqs4", "memberName": "Xiao Ming" } ], "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha", "groupName": "test_2024_test", "groupExternalId": "test_2024" }Parameter:
Parameter
Tipe
Deskripsi
groupId
String
Identifier unik untuk grup.
groupName
String
Nama tampilan grup.
groupExternalId
String
ID eksternal grup.
addedMembers
List
Daftar anggota yang akan ditambahkan ke grup.
-memberId
String
Identifier unik untuk pengguna.
-memberName
String
Nama tampilan pengguna.
-
Member removal
Gunakan event ini untuk menangani penghapusan anggota dari grup.
Jenis event: urn:alibaba:idaas:app:event:ud:group:remove_user.
Contoh
bizDatayang telah diurai:{ "removedMembers": [ { "memberId": "user_zakg7oeeaftqqff2bzcv7wpqs4", "memberName": "Xiao Ming" } ], "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha", "groupName": "test_2024_test", "groupExternalId": "test_2024" }Parameter:
Parameter
Tipe
Deskripsi
groupId
String
Identifier unik untuk grup.
groupName
String
Nama tampilan grup.
groupExternalId
String
ID eksternal grup.
removedMembers
List
Daftar anggota yang akan dihapus dari grup.
-memberId
String
Identifier unik untuk pengguna.
-memberName
String
Nama tampilan pengguna.
Address book full events
Full push events
-
Full push of organizational units
Jenis event: urn:alibaba:idaas:app:event:ud:organizational_unit:push.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan unit organisasi. -
Full push of accounts
Jenis event: urn:alibaba:idaas:app:event:ud:user:push.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun. -
Full push of groups
Berlangganan event ini untuk menerima daftar lengkap semua grup beserta anggotanya.
Jenis event: urn:alibaba:idaas:app:event:ud:group:push.
Contoh
bizDatayang telah diurai:{ "allMembers": [ { "memberId": "user_zakg7oeeaftqqff2bzcv7wpqs4", "memberName": "Xiao Ming" }, { "memberId": "user_zakg7oeea1234ff2bzcexample", "memberName": "Zhang San" } ], "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha", "groupName": "test_2024", "groupExternalId": "test_2024" }Parameter:
Parameter
Tipe
Deskripsi
groupId
String
ID unik grup.
groupName
String
Nama tampilan grup.
groupExternalId
String
ID eksternal grup.
allMembers
List
Semua anggota saat ini dari grup.
-memberId
String
ID unik anggota.
-memberName
String
Nama tampilan anggota.