Azure active directory 跨新环境移动Azure AD B2C自定义用户属性

Azure active directory 跨新环境移动Azure AD B2C自定义用户属性,azure-active-directory,azure-ad-b2c,Azure Active Directory,Azure Ad B2c,我已经在我的开发广告B2C租户中创建了“customerId”用户属性。当通过graph API查询这些时,我现在得到以下信息: "extension_b0ba955412524ac8be63e24fa7eb0c23_customerId": "2" 太好了!我使用JSON.Net将其转换为强类型对象,因此我的POCO具有以下属性 public string extension_b0ba955412524ac8be63e24fa7eb0c23_customerId { get; set; }

我已经在我的开发广告B2C租户中创建了“customerId”用户属性。当通过graph API查询这些时,我现在得到以下信息:

"extension_b0ba955412524ac8be63e24fa7eb0c23_customerId": "2"
太好了!我使用JSON.Net将其转换为强类型对象,因此我的POCO具有以下属性

public string extension_b0ba955412524ac8be63e24fa7eb0c23_customerId { get; set; }

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

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

此guid是“b2c扩展应用程序”的应用程序ID,对于租户内的所有自定义属性都是相同的,但在租户之间有所不同

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

extension_<appId>_<attributeName>
当然,您可以随时提供反馈,要求在中简化此操作

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