Azure active directory 如何填充Azure Active Directory B2C用户自定义用户属性?

Azure active directory 如何填充Azure Active Directory B2C用户自定义用户属性?,azure-active-directory,azure-ad-graph-api,Azure Active Directory,Azure Ad Graph Api,我已成功使用curl获取并更新Azure Active Directory租户中用户的邮政编码,命令如下: curl -X GET https://graph.microsoft.com/v1.0/users/<userGuid>?\$select=displayName,givenName,postalCode,xyz -H "Authorization: Bearer $AAD_BEARER_TOKEN" 这给了我“InvalidAuthentication

我已成功使用curl获取并更新Azure Active Directory租户中用户的邮政编码,命令如下:

curl -X GET https://graph.microsoft.com/v1.0/users/<userGuid>?\$select=displayName,givenName,postalCode,xyz -H "Authorization: Bearer $AAD_BEARER_TOKEN"
这给了我“InvalidAuthenticationToken”。当我添加不记名代币时,我得到

Resource '1acbf9cc-d931-4ff3-bafe-218693fba30e' does not exist or one of its queried reference-property objects are not present.
2021年3月2日星期二晚间更新:

我真丢脸!我忘记了最重要的问题:如何发布/修补新值,以便获取(获取)某些内容?由于该值为空,我无法判断GET是否工作

2021年3月3日星期三上午更新:
我终于找到了,它说我需要修改TrustFrameworkExtensions.xml中的自定义策略。斯坦利:是你干的吗?我不清楚InputClaims、PersistClaims和OutputClaims的XML。是否需要编辑此XML并将其上载?

据我所知,您希望通过Microsoft Graph API获取用户的自定义属性值

如果是,则
$select
参数中的属性
xyz
应为:
扩展名xyz

在我这边,我可以在这里找到我的B2C应用程序ID:

我有一个自定义属性
id4GTM

如果我想获取用户的值,属性名称应该是:
扩展名\u 48c33b45c4f8419eb9d97a0f3ff1817b\u id4GTM
,请求URL应该是:

GET https://graph.microsoft.com/v1.0/users/8bbd6746-02c7-41a6-97ca-c745c8d27a23?$select=displayname,extension_48c33b45c4f8419eb9d97a0f3ff1817b_id4GTM
结果:

更新:

如果要通过Micorsoft Graph API为用户设置B2C自定义属性,请尝试以下请求:

请求URL:

PATCH https://graph.microsoft.com/v1.0/users/<user guid>
补丁https://graph.microsoft.com/v1.0/users/
请求机构:

{"extension_d98794e6f3ca42a6b755d6f9cca552e1_xyz": "<value you want to set>"}
{“extension_d98794e6f3ca42a6b755d6f9cca552e1_xyz”:“
就我而言,如下所示:

尝试获取此值:


如果您还有任何问题,请告诉我:)

谢谢斯坦!下面是我的尝试:curl-X GET Ben,“givename”:“Ben”,“postalCode”:“11073”“}也许我需要先设置一个值?请查看我的更新。@user3477493,如果您只想通过Microsoft graph API设置/获取B2C用户自定义属性,则无需使用B2C自定义策略。是的,您需要先设置它,否则将不会返回此值。我已经更新了关于如何使用Microsoft Graph API为userShucks设置自定义属性值的答案!我没有仔细看你的屏幕截图!又是我的耻辱!您必须使用默认情况下未出现在注册列表中的特殊应用注册(突出显示)。您的补丁示例也可以使用!令人遗憾的是,Microsoft文档中没有包含修补新值的示例。(因为使用错误的AppId可以获取标准属性,所以我假设我有write AppId)。我希望这也能帮助别人!谢谢你的帮助@用户3477493很高兴知道它有帮助:)
{"extension_d98794e6f3ca42a6b755d6f9cca552e1_xyz": "<value you want to set>"}