将Azure AD用户扩展添加到ID令牌声明时出现问题

时间:2019-02-14 16:03:39

标签: azure jwt azure-active-directory claims-based-identity

我正在尝试遵循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令牌中?

0 个答案:

没有答案