有人问here,但仍未回答相同的问题。我可以添加一个自定义属性,如下所示:
{
"name": "new_secure_claim",
"dataType": "Boolean",
"targetObjects": ["User"]
}
我将此数据发布到带有所需标头的
https://graph.windows.net/{tenant}.onmicrosoft.com/applications/{objectId of b2c-extensions-app}/extensionProperties?api-version=1.6
到Azure AD Graph API端点。我收到刚创建的扩展程序的响应。当我查询图表以获取b2c-extensions-app
的所有扩展名时,甚至可以看到扩展名(请注意下面的顶部):
{
"odata.metadata": "https://graph.windows.net/melangeauth.onmicrosoft.com/$metadata#directoryObjects/Microsoft.DirectoryServices.ExtensionProperty",
"value": [{
"odata.type": "Microsoft.DirectoryServices.ExtensionProperty",
"objectType": "ExtensionProperty",
"objectId": "b7a36f93-8d7a-463f-8d3e-88f449243ea6",
"deletionTimestamp": null,
"appDisplayName": "",
"name": "extension_8588c037999f4d058cc08e2e5f99de30_new_secure_claim",
"dataType": "Boolean",
"isSyncedFromOnPremises": false,
"targetObjects": ["User"]
}, {
"odata.type": "Microsoft.DirectoryServices.ExtensionProperty",
"objectType": "ExtensionProperty",
"objectId": "b6c6d55f-21a8-4403-a68f-f858966077bf",
"deletionTimestamp": null,
"appDisplayName": "",
"name": "extension_8588c037999f4d058cc08e2e5f99de30_manager_admin_authorization",
"dataType": "Boolean",
"isSyncedFromOnPremises": false,
"targetObjects": ["User"]
}, {
"odata.type": "Microsoft.DirectoryServices.ExtensionProperty",
"objectType": "ExtensionProperty",
"objectId": "2642596f-5706-47fb-abdb-6d0d012a3006",
"deletionTimestamp": null,
"appDisplayName": "",
"name": "extension_8588c037999f4d058cc08e2e5f99de30_manager_admin",
"dataType": "Boolean",
"isSyncedFromOnPremises": false,
"targetObjects": ["User"]
}, {
"odata.type": "Microsoft.DirectoryServices.ExtensionProperty",
"objectType": "ExtensionProperty",
"objectId": "ee2c66e3-ced4-4bc8-90d5-e2b18690a56b",
"deletionTimestamp": null,
"appDisplayName": "",
"name": "extension_8588c037999f4d058cc08e2e5f99de30_manager_ads_admin",
"dataType": "Boolean",
"isSyncedFromOnPremises": false,
"targetObjects": ["User"]
}
]
}
但是,当我转到Azure门户(https://portal.azure.com/#blade/Microsoft_AAD_B2CAdmin/TenantManagementMenuBlade/manageUserAttributes)的B2C目录中的“ Azure AD B2C /用户属性”刀片时,看不到该扩展名属性。当我添加要返回保单的索赔时,我也看不到它。
要向b2c-extensions-app应用程序添加自定义扩展名,以便让我查看是否在Azure门户用户属性刀片中,我需要做些什么?
答案 0 :(得分:1)
嗯,嗯。
当人们以无证件的方式处理事情时,情况会变得复杂。为简单起见,我鼓励您继续使用门户网站定义扩展。如果您只是想这样做(似乎想要)。因为除了在Graph上注册扩展之外,还有很多。
要了解为什么会这样,您必须更深入地了解B2C是如何从内部进行滴答的。深入custom policies时,您会获得概述。但是,自定义策略仍然保留在文档中,适用于知道自己在做什么的身份专家。直截了当,claims schema
是在所谓的基本策略中定义的。它不仅在图表中定义,而且在基本策略中定义backed
。 XML模式规定了B2C必须做什么以及应该如何做。并且所有声明(和自定义属性)也在该模式中定义。因此,当您在门户网站中更改有关此架构的内容(添加新属性)时,它会在Graph API中进行注册,但也会在声明定义架构中进行更新,该声明定义架构将单独保存。
这就是为什么当您使用Graph手动注册扩展时,它只是不会显示在门户中的原因。
我不希望您跳入并开始学习自定义策略,因为对于您而言,您只是不需要它们。但我希望不必在门户中定义定制属性对您来说不是一个大问题。