跨新环境移动 Azure AD B2C 自定义用户属性
Moving Azure AD B2C custom user attributes across new environments
我在我的开发 AD B2C 租户中创建了一个 'customerId' 用户属性。当通过图表 API 查询这些时,我现在得到以下信息;
"extension_b0ba955412524ac8be63e24fa7eb0c23_customerId": "2"
完美!我使用 JSON.Net 将其转换为强类型对象,因此我的 POCO 具有以下 属性.
public string extension_b0ba955412524ac8be63e24fa7eb0c23_customerId { get; set; }
不太好,但我可以忍受。我担心的是,当我在暂存和生产环境中创建这些属性时,属性名称会发生变化,我将不得不重写大量代码。我如何将这些用户属性迁移到我们的其他环境,确保 属性 名称不变?
Azure AD B2C 中的自定义用户属性在名称中始终有一个 guid,每个 Azure AD B2C 租户都是唯一的。
此 guid 是 'b2c-extensions-app' 的应用程序 ID,对于一个租户内的所有自定义属性都是相同的,但在不同租户之间是不同的。
鉴于此行为,您可以使处理自定义用户属性的代码动态化,以便使用以下模式派生全名*:
extension_<appId>_<attributeName>
并通过Graph获取appID:
https://graph.windows.net/yourtenant.onmicrosoft.com/applications?$filter=displayName eq 'b2c-extensions-app'
当然,您可以随时提供反馈,要求在 Azure AD B2C feedback forum 中简化此操作。
我在我的开发 AD B2C 租户中创建了一个 'customerId' 用户属性。当通过图表 API 查询这些时,我现在得到以下信息;
"extension_b0ba955412524ac8be63e24fa7eb0c23_customerId": "2"
完美!我使用 JSON.Net 将其转换为强类型对象,因此我的 POCO 具有以下 属性.
public string extension_b0ba955412524ac8be63e24fa7eb0c23_customerId { get; set; }
不太好,但我可以忍受。我担心的是,当我在暂存和生产环境中创建这些属性时,属性名称会发生变化,我将不得不重写大量代码。我如何将这些用户属性迁移到我们的其他环境,确保 属性 名称不变?
Azure AD B2C 中的自定义用户属性在名称中始终有一个 guid,每个 Azure AD B2C 租户都是唯一的。
此 guid 是 'b2c-extensions-app' 的应用程序 ID,对于一个租户内的所有自定义属性都是相同的,但在不同租户之间是不同的。
鉴于此行为,您可以使处理自定义用户属性的代码动态化,以便使用以下模式派生全名*:
extension_<appId>_<attributeName>
并通过Graph获取appID:
https://graph.windows.net/yourtenant.onmicrosoft.com/applications?$filter=displayName eq 'b2c-extensions-app'
当然,您可以随时提供反馈,要求在 Azure AD B2C feedback forum 中简化此操作。