我在开发AD B2C租户中创建了'customerId'用户属性。当通过图形API查询这些时,我现在得到以下内容;
"extension_b0ba955412524ac8be63e24fa7eb0c23_customerId": "2"
完美!我使用JSON.Net将其转换为强类型对象,因此我的POCO具有以下属性。
public string extension_b0ba955412524ac8be63e24fa7eb0c23_customerId { get; set; }
不太好,但我可以忍受它。我担心的是,当我在登台和生产环境中创建这些属性时,属性名称将会改变,我将不得不重写大量代码。如何将这些用户属性迁移到其他环境,确保属性名称不会更改?
答案 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中更轻松地进行此操作。