我无法通过GET / users / {oid} graph api阅读Azure AD B2C自定义用户属性。
curl https://graph.windows.net/VishOrganizationB2CTenant.onmicrosoft.com/users/4a70b88f-2aa9-456c-b8e3-680bbd1bbf9f?api-version=1.6 -H“授权:bearer eyJ0eXAiOiJKV1QiLCJhbGci ....”
以上cURL调用不会在响应中返回自定义用户属性,但我会在响应中获得内置用户属性。
我甚至尝试过这样:
curl https://graph.windows.net/VishOrganizationB2CTenant.onmicrosoft.com/users/4a70b88f-2aa9-456c-b8e3-680bbd1bbf9f/extension_box_appuser_id?api-version=1.6 -H“授权:bearer eyJ0eXAiOiJKV1QiLCJhbGci ......”
这将返回错误消息:
{“odata.error”:{“code”:“Request_ResourceNotFound”,“message”:{“lang”:“en”,“value”:“资源'extension_box_appuser_id'不存在或其查询引用之一 - 属性对象不存在。“}}}
'box_appuser_id'是我在Azure AD B2C租户中添加的自定义用户属性。
有人可以指导我在这里缺少什么吗?
谢谢, Vish
答案 0 :(得分:1)
根据错误消息,扩展属性似乎不会退出或不正确。请检查扩展程序是否退出,您可以参考下面的REST列出组织中的所有扩展程序属性:
POST https://graph.windows.net/{tenant}/getAvailableExtensionProperties?api-version=1.6
authorization: bearer {access_token}
Content-Type: application/json
{
"isSyncedFromOnPremises": false
}
答案 1 :(得分:0)
实现这一目标的一种非常简单的方法
使用标准策略创建自定义属性 在政策期间写信给它 进入图形并获取刚刚写入的对象 这将为您提供正确的格式 extension_guid_name
例如extension_123132131231233213_name。
在政策中创建这些声明时,声明ID应为
extension_name.
如果要返回这些内容,则需要使用B2C扩展应用程序(在Azure AD中找到)作为要在自定义策略中连接的身份应用程序。
在您的AD技术配置文件的元数据中,您的b2c_extension_app_guild必须
</Metadata>
<Item Key="ApplicationObjectId">App Object ID</Item>
<Item Key="ClientId">B2C_extension_app_guid </Item>
</Metadata>