在新环境中移动Azure AD B2C自定义用户属性

时间:2017-06-12 10:13:36

标签: azure-active-directory azure-ad-b2c

我在开发AD B2C租户中创建了'customerId'用户属性。当通过图形API查询这些时,我现在得到以下内容;

"extension_b0ba955412524ac8be63e24fa7eb0c23_customerId": "2"

完美!我使用JSON.Net将其转换为强类型对象,因此我的POCO具有以下属性。

public string extension_b0ba955412524ac8be63e24fa7eb0c23_customerId { get; set; }

不太好,但我可以忍受它。我担心的是,当我在登台和生产环境中创建这些属性时,属性名称将会改变,我将不得不重写大量代码。如何将这些用户属性迁移到其他环境,确保属性名称不会更改?

1 个答案:

答案 0 :(得分:2)

Azure AD B2C中的自定义用户属性将始终具有每个Azure AD B2C租户唯一的名称。

此guid是'b2c-extensions-app'的应用程序ID,对于租户中的所有自定义属性都是相同的,但不同的租户不同。

鉴于此行为,您可以使处理自定义用户属性的代码动态化,以便使用以下模式派生全名*

extension_<appId>_<attributeName>

通过图表获取appID:

https://graph.windows.net/yourtenant.onmicrosoft.com/applications?$filter=displayName eq 'b2c-extensions-app'

当然,您始终可以提供反馈,要求在Azure AD B2C feedback forum中更轻松地进行此操作。