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



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

"extension_b0ba955412524ac8be63e24fa7eb0c23_customerId": "2"

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

public string extension_b0ba955412524ac8be63e24fa7eb0c23_customerId { get; set; }

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

Azure AD B2C

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

此 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 反馈论坛中提供反馈,请求简化此操作。

最新更新