用户配置文件属性

适用于:带灰色 X 号的白色圆圈。 员工租户 带白色勾号的绿色圆圈。 外部租户(了解详细信息

你在注册时收集的用户属性会与用户配置文件一起存储在你的目录中。 可以从内置用户属性中进行选择,也可以创建自定义用户属性。

  • Microsoft Entra 外部 ID 中提供了内置用户属性,例如城市、国家/地区、电子邮件地址等。 可以选择要在注册期间收集的内置用户属性。

  • 对于要收集的任何其他信息,可以创建自定义用户属性。 可以在注册页面上添加若干自定义输入控件来收集属性,包括文本框、单选按钮和复选框。 下面的示例展示了如何使用自定义输入控件来收集会员号、使用条款的使用条款同意和隐私策略同意的属性。

    注册页面的屏幕截图,其中包含使用条款和隐私政策复选框。

内置用户属性

Microsoft Entra 外部 ID 具有可在注册过程中收集的内置用户属性。 在 Microsoft Entra 管理中心创建用户流时,可以配置这些属性。

下表汇总了注册流中可以收集的内置用户属性:

  • Microsoft Entra 管理中心中的标签是 Microsoft Entra 管理中心中显示的用户属性的名称
  • 可编程名称是 Microsoft Graph API 的用户资源中使用的用户属性的名称。 如果要以编程方式使用该用户属性,例如在本机身份验证中,需要使用该名称。
  • 数据类型是用户属性的数据类型
Microsoft Entra 管理中心中的标签 可编程名称 数据类型 注解
城市 city 字符串 最大长度为 128 个字符。
国家/地区 country 字符串 最大长度为 128 个字符。
显示名称 displayName 字符串 最大长度为 256 个字符。
电子邮件地址 电子邮件 字符串 此属性不能包含重音字符。 在本机身份验证 API 中,此属性被引用为用户名
givenName 字符串 最大长度为 64个字符。
职务 jobTitle 字符串 最大长度为 128 个字符。
邮政编码 postalCode 字符串 最大长度为 40 个字符。
省/自治区/直辖市 state 字符串 最大长度为 128 个字符。
街道地址 streetAddress 字符串 最大长度为 1024 个字符。
surname 字符串 最大长度为 64个字符。

自定义用户属性

如果应用需要的信息比内置用户属性提供的更多,则可添加你自己的属性。 我们将这些属性称为“自定义用户属性”。

若要定义自定义用户属性,请首先在租户级别创建该属性,以便可以在租户的任何用户流中使用它。 然后将该属性分配给注册用户流,并配置你所希望的其在注册页面上的显示方式。

通过创建自定义用户属性一文了解如何创建自定义用户属性。

自定义用户属性输入类型

在使用自定义用户属性之前,请确定为每个要收集的自定义属性收集用户输入的最佳方法。 可以使用以下输入类型控件在注册期间从用户那里收集信息:

  • 字符串文本框
  • 单选按钮
  • 多选复选框
  • 数字文本框
  • 单选复选框

请参阅此表,查找适当的数据类型和用户输入类型:

数据类型 用户输入类型 说明
字符串 TextBox 自由格式文本输入字段。
字符串 RadioSingleSelect 只允许单选的单选按钮系列。 单个单选按钮的“文本”可以包含采用 Markdown 语言格式的超链接。
字符串 CheckboxMultiSelect 允许进行多选的一系列复选框(一个或多个)。 单个复选框的“文本”可以包含采用 Markdown 语言格式的超链接。
布尔 CheckboxSingleSelect 带标签的单个布尔复选框。 复选框的“标签”可以包含采用 Markdown 语言格式的超链接。
int NumericTextBox 自由格式整数条目。

复选框和单选按钮可以包含指向其他内容的超链接,例如使用条款和隐私策略。 本文开头的示例显示了一个注册页,该页结合了内置属性和自定义属性。 在示例中:

  • “显示名称”字段是内置属性。
  • “会员号”是一个自定义属性,有一个接受整数的自由格式输入字段。 可以使用 Int 数据类型和 NumericTextBox 用户输入类型配置此格式。
  • “使用条款”和“隐私策略”自定义属性是单独的单选复选框,其标签包含超链接。 可以使用 Boolean 数据类型配置单选复选框,该数据类型默认为 CheckboxSingleSelect 用户输入类型。 使用 Markdown 语言为复选框标签添加超链接。

配置用户输入类型一文中了解如何配置用户属性输入类型。

存储自定义用户属性的位置

自定义用户属性也称为目录扩展属性,因为它们扩展了存储在目录中的用户配置文件信息。 外部租户的所有扩展属性都存储在名为 b2c-extensions-app 的应用中。 用户在注册期间为自定义属性输入值后,该值将添加到用户对象,可以使用命名约定 extension_{appId-without-hyphens}_{custom-attribute-name} 通过 Microsoft Graph API 调用它,其中:

  • {appId-without-hyphens} 是 b2c-extensions-app 的客户端 ID 的剥离版本。
  • {custom-attribute-name} 是分配给自定义属性的名称。

例如,如果 b2c-extensions-app 的客户端 ID 为 2588a-bcdwh-tfeehj-jeeqw-ertc 且属性名称为:

  • loyaltyNumber,则自定义属性将命名为 extension_2588abcdwhtfeehjjeeqwertc_loyaltyNumber
  • Loyalty Number,则自定义属性将命名为 extension_2588abcdwhtfeehjjeeqwertc_loyaltyNumber。 删除空格并使用驼峰式大小写分隔单词。

使用查找扩展应用的应用程序 ID 一文,了解如何查找外部租户中注册的 b2c-extensions-app 的应用程序 ID。

Microsoft 图形 API

用户属性在 Microsoft Graph 中称为用户流属性。 请使用 identityUserFlowAttribute 资源类型及其关联的方法来管理内置属性和自定义用户流属性。