Bu konu, bir OIDC id_token öğesine nasıl özel alan ekleneceğini açıklar ve yapılandırma örnekleri sunar.
id_token özel alan kuralları
Bir id_token özel alanının değeri değişken, sabit veya ifade olabilir. Değişken adını tırnak işareti kullanmadan doğrudan girin. Sabit bir değeri çift tırnak içine ("") alın.
|
Tür |
Değer |
Açıklama |
|
değişken Değişken adını tırnak işareti kullanmadan doğrudan girin. |
user.username |
Kullanıcı adı. |
|
user.displayName |
Görünen ad. |
|
|
user.phone (kullanımdan kaldırıldı) |
Ülke kodu olmadan telefon numarası. Bu değişken kullanımdan kaldırılmıştır. |
|
|
user.phoneNumber |
Ülke kodu olmadan telefon numarası. |
|
|
user.email |
Kullanıcının e-posta adresi. |
|
|
user.status |
Kullanıcı durumu. Geçerli değerler:
|
|
|
user.primaryOrganizationalUnitId |
Kullanıcının birincil organizasyon biriminin ID değeri. |
|
|
user.organizationalUnits |
Kullanıcının ait olduğu organizasyon birimleri. |
|
|
ArrayMap(user.organizationalUnits, __item.organizationalUnitId) |
Kullanıcının ait olduğu organizasyon birimlerinin ID değerleri. Biçim: JSON dizisi. |
|
|
user.groups |
Kullanıcı hesabının ait olduğu gruplar. Biçim: JSON dizisi. |
|
|
ArrayMap(user.groups, __item.groupId) |
Kullanıcı için grup ID değerleri. Biçim: JSON dizisi. |
|
|
ArrayMap(user.groups, __item.groupExternalId) |
Kullanıcı için harici grup ID değerleri. Biçim: JSON dizisi. |
|
|
user.customFields |
Kullanıcının özel alanları. Biçim: JSON dizisi. |
|
|
user.customFieldMap.$fieldname$.fieldValue |
Belirli bir özel alanın değeri. |
|
|
sabit |
Sabit bir dize değeri. Sabiti çift tırnak içine ("") alın. |
|
|
ifade |
Değerleri birleştirmek veya dönüştürmek için gelişmiş bir özellik. Daha fazla bilgi için bkz. Gelişmiş hesap alanı ifadeleri. |
|
Örnek kullanıcı nesnesi:
{
...
"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"
}
],
...
}
OIDC ifade örnekleri
IDaaS application sayfasında, gelişmiş yapılandırma alanını genişletmek için Hide advanced configuration seçeneğine tıklayın. Extend id_token bölümünde, eşleme tablosuna özel alan adlarını ve bunlara karşılık gelen ifadeleri ekleyin.
-
user.organizationalUnitsifadesi aşağıdakileri döndürür:[ { "organizationalUnitId": "ou_sdfadtaaxxxxxx", "organizationalUnitName": "AD", "primary": false }, { "organizationalUnitId": "ou_werttxxxxxx", "organizationalUnitName": "name_002", "primary": true } ] -
ArrayMap(user.organizationalUnits, __item.organizationalUnitId)ifadesi aşağıdakileri döndürür:[ "ou_sdfadtaaxxxxxx", "ou_werttxxxxxx" ] -
user.groupsifadesi aşağıdakileri döndürür:[ { "groupId": "group_jp6al4sn4n4wjgjxxxxxx", "groupName": "group1", "groupExternalId": "group_jp6al4sn4n4wjgjxxxxxx" }, { "groupId": "group_vavikcxewkf5h3oxxxxxx", "groupName": "group2", "groupExternalId": "group_vavikcxewkf5h3oxxxxxx" } ] -
ArrayMap(user.groups, __item.groupId)ifadesi aşağıdakileri döndürür:[ "group_jp6al4sn4n4wjgjxxxxxx", "group_vavikcxewkf5h3oxxxxxx" ] -
ArrayMap(user.groups, __item.groupExternalId)ifadesi aşağıdakileri döndürür:[ "group_jp6al4sn4n4wjgjxxxxxx", "group_vavikcxewkf5h3oxxxxxx" ] -
user.customFieldsifadesi aşağıdakileri döndürür:[ { "fieldName": "place", "fieldValue": "beijing" }, { "fieldName": "age", "fieldValue": "18" } ] -
user.customFieldMap.age.fieldValueifadesi aşağıdakileri döndürür:18
id_token özel alanlarını yeniden yazma kuralları
Varsayılan alan kuralları
Sistem varsayılan alanları yeniden yazılamaz:
exp,nbf,iat,iss,jti,at_hash,c_hash,nonce,sid.subalanı yeniden yazılabilir.
Kullanıcı bilgisi alanı kuralları
Aşağıdaki kullanıcı bilgisi alanlarının id_token içinde yeniden yazılıp yazılamayacağı, istenen scope değerine bağlıdır.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yapılandırma önerileri
Uygulamanızın yapılandırmasında scope değerlerini dikkatlice seçin. İstediğiniz scope değerleri, hangi kullanıcı alanlarının yeniden yazılabileceğini belirler.
Belirli bir alanı yeniden yazmak için ilişkili
scopedeğerini istemediğinizden veya ilgili kullanıcı niteliğinin boş olduğundan emin olun.