我正在尝试遵循documentation here向id令牌的声明集添加用户扩展名,但是我无法在我获得的令牌中显示它。
我已经在本地AD中创建了一个用户扩展,并将其值与我的Azure AD实例同步。我通过在powershell中查找扩展来验证该扩展是否已推送到Azure AD:
Error: Invalid atomic update value for $meta1. Expected an object, received string
[] at castUpdate (/Users/.../node_modules/mongoose/lib/services/query/castUpdate.js:86:13)
[] at model.Query._castUpdate (/Users/.../node_modules/mongoose/lib/query.js:3185:10)
[] at castDoc (/Users/.../node_modules/mongoose/lib/query.js:3212:18)
[] at model.Query.Query._findAndModify (/Users/.../node_modules/mongoose/lib/query.js:2441:19)
[] at model.Query.Query._findOneAndUpdate (/Users/.../node_modules/mongoose/lib/query.js:2163:8)
[] at process.nextTick (/Users/.../node_modules/kareem/index.js:315:33)
[] at process._tickCallback (internal/process/next_tick.js:61:11)
根据this part of the documentation,我需要使用PS U:\> Get-AzureADUserExtension -ObjectId $UserId
Key Value
--- -----
odata.metadata https://graph.windows.net/84d1aa3c-****-****-****-*****6b7b6ec/...
odata.type Microsoft.DirectoryServices.User
createdDateTime 1/31/2019 5:55:52 PM
employeeId
onPremisesDistinguishedName CN=Paul LeBlond,OU=Users,OU=@AR,DC=*********,DC=co
userIdentities []
extension_01e6ed59b00**********6ee8e2a025f_pOCCustom customize!
来完全限定扩展名,并且看起来我的同步已经做到了,尽管上面显示的ID与我的appid不匹配。我尝试使用上面的值,以及在中间部分使用appid(带和不带破折号),并且尝试使用扩展名(pOCCustom)。没有人返回要求“ extn.POCCustom”,这是我所期望的。
以下是应用程序清单的重要部分:
extension_<appid>_<extensionName>
我添加了family_name和given_name以确保我至少是亲密的,并且它们已经按预期包含在我的id令牌中。
这是我登录时的idToken的样子:
"id": "0d18****-****-****-****-****b28f27f",
"acceptMappedClaims": null,
"accessTokenAcceptedVersion": null,
"allowPublicClient": null,
"appId": "b4d8****-****-****-****-****234311bd",
...
"optionalClaims": {
"idToken": [
{
"name": "extension_01e6ed59b00**********6ee8e2a025f_pOCCustom",
"source": "user",
"essential": false,
"additionalProperties": []
},
{
"name": "family_name",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "given_name",
"source": null,
"essential": false,
"additionalProperties": []
}
],
"accessToken": [],
"saml2Token": []
},
所以我得到了family_name和given_name声明,但没有POCCustom声明。我该怎么做才能使该用户扩展名显示在我的ID令牌中?