Topik ini menjelaskan aturan untuk nilai-nilai bidang tambahan OpenID Connect (OIDC) id_token serta menyediakan contoh konfigurasi.
Aturan untuk mengisi bidang tambahan id_token
Tipe | Nilai | Deskripsi |
Variabel | user.username | Nama pengguna. |
user.displayName | Nama tampilan. | |
user.phone (kedaluwarsa) | Nomor telepon seluler yang tidak termasuk kode negara dan telah kedaluwarsa. | |
user.phoneNumber | Nomor telepon seluler, tidak termasuk kode negara. | |
user.email | Alamat email. | |
user.status | Status pengguna. Nilai yang valid:
| |
user.primaryOrganizationalUnitId | ID organisasi utama tempat pengguna bernaung. | |
user.organizationalUnits | Informasi tentang organisasi tempat pengguna bernaung. | |
ArrayMap(user.organizationalUnits, __item.organizationalUnitId) | ID semua organisasi tempat pengguna bernaung. Nilainya adalah array JSON. | |
user.groups | Informasi tentang grup tempat akun bernaung. Nilainya adalah array JSON. | |
ArrayMap(user.groups, __item.groupId) | ID grup tempat akun bernaung. Nilainya adalah array JSON. | |
ArrayMap(user.groups, __item.groupExternalId) | ID eksternal grup tempat akun bernaung. Nilainya adalah array JSON. | |
user.customFields | Informasi tentang semua bidang tambahan. Nilainya adalah array JSON. | |
user.customFieldMap.$fieldname$.fieldValue | Nilai dari sebuah bidang tambahan. | |
Konstanta | Konstanta harus diapit dengan tanda kutip ganda (""). | |
Ekspresi | Fitur lanjutan. Anda dapat secara fleksibel menggabungkan dan mengubah nilai menggunakan ekspresi. Untuk informasi lebih lanjut, lihat Ekspresi lanjutan untuk bidang akun. | |
Contoh: objek user.
{
...
"customFieldMap": {
"place": {
"fieldName": "place",
"fieldValue": "beijing"
},
"age": {
"fieldName": "age",
"fieldValue": "18"
}
},
"identityProviderUserMap": {
"idp_m2gngriuenktdkxxxxxx": {
"identityProviderId": "idp_m2gngriuenktdkxxxxxx",
"identityProviderType": "ding_talk",
"identityProviderExternalId": "corp_1234xxxxxxx",
"identityProviderUserId": "b2ed5fc0xxxxx"
}
},
"organizationalUnits": [
{
"organizationalUnitId": "ou_sdfadtaaxxxxxx",
"organizationalUnitName": "AD",
"primary": false
},
{
"organizationalUnitId": "ou_werttxxxxxx",
"organizationalUnitName": "name_002",
"primary": true
}
],
"primaryOrganizationalUnitId": "ou_werttxxxxxx",
"customFields": [
{
"fieldName": "place",
"fieldValue": "beijing"
},
{
"fieldName": "age",
"fieldValue": "18"
}
],
"groups": [
{
"groupId": "group_jp6al4sn4n4wjgjxxxxxx",
"groupName": "group1",
"groupExternalId": "group_jp6al4sn4n4wjgjxxxxxx"
},
{
"groupId": "group_vavikcxewkf5h3oxxxxxx",
"groupName": "group2",
"groupExternalId": "group_vavikcxewkf5h3oxxxxxx"
}
],
...
}Contoh Ekspresi OIDC

Bidang organizationalUnits dalam id_token diuraikan menggunakan ekspresi user.organizationalUnits.
[ { "organizationalUnitId": "ou_sdfadtaaxxxxxx", "organizationalUnitName": "AD", "primary": false }, { "organizationalUnitId": "ou_werttxxxxxx", "organizationalUnitName": "name_002", "primary": true } ]Bidang organizationalUnitIds dalam id_token diuraikan menggunakan ekspresi ArrayMap(user.organizationalUnits, __item.organizationalUnitId).
[ "ou_sdfadtaaxxxxxx", "ou_werttxxxxxx" ]Bidang groups dalam id_token diuraikan menggunakan ekspresi user.groups.
[ { "groupId": "group_jp6al4sn4n4wjgjxxxxxx", "groupName": "group1", "groupExternalId": "group_jp6al4sn4n4wjgjxxxxxx" }, { "groupId": "group_vavikcxewkf5h3oxxxxxx", "groupName": "group2", "groupExternalId": "group_vavikcxewkf5h3oxxxxxx" } ]Bidang groupIds dalam id_token diuraikan menggunakan ekspresi ArrayMap(user.groups, __item.groupId).
[ "group_jp6al4sn4n4wjgjxxxxxx", "group_vavikcxewkf5h3oxxxxxx" ]Bidang groupExternalIds dalam id_token diuraikan menggunakan ekspresi ArrayMap(user.groups, __item.groupExternalId).
[ "group_jp6al4sn4n4wjgjxxxxxx", "group_vavikcxewkf5h3oxxxxxx" ]Bidang customFields dalam id_token diuraikan menggunakan ekspresi user.customFields.
[ { "fieldName": "place", "fieldValue": "beijing" }, { "fieldName": "age", "fieldValue": "18" } ]Bidang age dalam id_token diuraikan menggunakan ekspresi user.customFieldMap.age.fieldValue.
18
Aturan untuk menulis ulang bidang tambahan id_token
Aturan bidang default
Bidang default tidak mendukung penulisan ulang:
exp,nbf,iat,iss,jti,at_hash,c_hash,nonce,sid.Bidang yang mendukung penulisan ulang:
sub.
Aturan bidang informasi pengguna
Bidang berikut dalam id_token pengguna dapat ditulis ulang berdasarkan ruang lingkup:
Nama bidang | Ruang lingkup terkait | Kondisi tidak dapat ditulis ulang |
email, email_verified | Saat ruang lingkup mencakup email dan email pengguna tidak kosong | |
phone_number, phone_number_verified | phone | Saat ruang lingkup mencakup phone dan phoneNumber pengguna tidak kosong |
name, preferred_username, updated_at, locale | profile | Saat ruang lingkup mencakup profile |
instance_id, application_id | instance | Saat ruang lingkup mencakup instance |
Rekomendasi konfigurasi
Berhati-hatilah saat memilih ruang lingkup dalam konfigurasi informasi pengguna karena ini akan memengaruhi bidang pengguna mana yang dapat ditulis ulang.
Untuk menulis ulang bidang tertentu, pastikan bahwa ruang lingkup yang sesuai tidak disertakan atau bidang pengguna yang sesuai kosong.