创建注册和登录用户流
适用于: 员工租户 外部租户(了解详细信息)
提示
本文适用于外部租户中的用户流。 有关工作人员租户的信息,请参阅向应用添加自助注册用户流。
你可以通过向应用程序中添加用户流,为客户创建简单的注册和登录体验。 用户流定义了客户遵循的一系列注册步骤,以及他们可以使用的登录方法(例如电子邮件和密码、一次性密码,或者 Google 或 Facebook 社交帐户)。 你还可以通过从一系列内置用户属性中进行选择或添加自己的自定义属性,在注册期间从客户那里收集信息。
如果要向客户提供多个应用程序,则可以创建多个用户流。 也可以对多个应用程序使用同一个用户流。 但是,一个应用程序只能有一个用户流。
先决条件
- Microsoft Entra 外部租户:在开始之前,请创建 Microsoft Entra 外部租户。 可以安装免费试用版,也可以在 Microsoft Entra ID 中创建新的外部租户。
- 启用电子邮件一次性密码(可选):如果希望客户在每次登录时都使用其电子邮件地址和一次性密码,请确保在租户级别启用电子邮件一次性密码(在 Microsoft Entra 管理中心导航至“外部标识”>“所有标识提供者”>“电子邮件一次性密码”)。
- 定义的自定义属性(可选):用户属性是在自助注册期间收集的用户值。 Microsoft Entra ID 附带一组内置属性,但你可以定义要在注册期间收集的自定义属性。 提前定义自定义属性,以便你可以在设置用户流时使用它们。 也可以在以后创建和添加它们。
- 定义的标识提供者(可选):可以预先设置与 Google 或 Facebook 的联合,然后在创建用户流时选择它们作为登录选项。
创建和自定义用户流
按照这些步骤创建可供客户用于登录或注册应用程序的用户流。 这些步骤描述了如何添加新用户流、选择要收集的属性以及更改属性在注册页面上的顺序。
添加新用户流
如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
浏览到“标识”>“外部标识”>“用户流”。
选择“新建用户流”。
在“创建”页上的“名称”中,输入用户流的名称(例如“SignUpSignIn”)。
在“标识提供者”下,选中“电子邮件帐户”复选框,然后选择以下选项之一:
电子邮件和密码:使新用户能够使用电子邮件地址作为登录名称并使用密码作为其第一重身份验证方法进行注册和登录。 还可在登录页面配置用于显示、隐藏或自定义自助式密码重置链接的选项(了解详细信息)。
电子邮件一次性密码:使新用户能够使用电子邮件地址作为登录名称并使用电子邮件一次性密码作为其第一重身份验证方法进行注册和登录。
注意
“Microsoft Entra ID 注册”选项不可用,因为尽管客户可以使用另一个 Microsoft Entra 组织的电子邮件注册本地帐户,但系统不会使用 Microsoft Entra 联合身份验证来验证他们的身份。 只有在与他们建立联合身份验证后,才能使用 Google 和 Facebook。 详细了解身份验证方法和标识提供者。
在“用户属性”下,选择要在注册期间收集的用户属性。
选择“显示更多”,从属性的完整列表中进行选择,包括“职务”、“显示名称”和“邮政编码”。
此列表还包括你定义的自定义属性。 选中要在注册期间从用户收集的每个属性旁边的复选框
选择“确定” 。
选择“创建”以创建用户流。
在注册和登录用户流中禁用注册
如果希望客户用户只登录而不注册,则可通过按照更新 Microsoft Graph 中的 authenticationEventsFlow API 中的说明将 onInteractiveAuthFlowStart 属性 >isSignUpAllowed 属性更新为 false
,在用户流中禁用注册体验。 你需要知道想要禁用其注册的用户流的 ID。 无法从 Microsoft Entra 管理中心读取用户流 ID,但如果你知道与之关联的应用,则可以通过 Microsoft 图形 API 检索它。
读取与用户流关联的应用程序 ID:
- 浏览到“标识”>“外部标识”>“用户流”。
- 从列表中,选择你的用户流。
- 在左侧菜单中的“使用”下,选择“应用”。
- 在列表中的“应用程序(客户端) ID”列下,复制“应用程序(客户端) ID”。
标识要禁用其注册的用户流的 ID。 为此,请列出与特定应用程序关联的用户流。 这是一个 Microsoft Graph API,需要你知道在上一步中获取的应用程序 ID。
更新用户流以禁用注册。
示例:
PATCH https://graph.microsoft.com/beta/identity/authenticationEventsFlows/{user-flow-id}
请求正文
{ "@odata.type": "#microsoft.graph.externalUsersSelfServiceSignUpEventsFlow", "onInteractiveAuthFlowStart": { "@odata.type": "#microsoft.graph.onInteractiveAuthFlowStartExternalUsersSelfServiceSignUp", "isSignUpAllowed": "false" } }
将
{user-flow-id}
替换为在上一步中获取的用户流 ID。 请注意,isSignUpAllowed
参数设置为 false。 若要重新启用注册,请调用 Microsoft Graph API 端点,但将isSignUpAllowed
参数设置为 true。