为外部租户应用创建注册和登录用户流

适用于带灰色 X 符号的白色圆圈。 员工租户 绿色圆圈,带有白色复选标记符号。 外部租户(了解详细信息

提示

本文适用于外部租户中的用户流。 有关员工租户的信息,请参阅 向应用添加自助服务注册用户流

你可以通过向应用程序中添加用户流,为客户创建简单的注册和登录体验。 用户流定义了客户遵循的一系列注册步骤以及他们可以使用的登录方法(例如电子邮件和密码、一次性密码或 GoogleFacebookApple 中的社交帐户)或自定义 OIDC 联合身份验证。 你还可以通过从一系列内置用户属性中进行选择或添加自己的自定义属性,在注册期间从客户那里收集信息。

本文介绍如何创建登录和注册用户流。 创建用户流后,下一步是 将应用程序添加到用户流。 如果要向客户提供多个应用程序,则可以创建多个用户流。 也可以对多个应用程序使用同一个用户流。 但是,一个应用程序只能有一个用户流。

提示

立即试用

若要试用此功能,请转到 Woodgrove Groceries 演示并启用“电商”用例。

先决条件

  • Microsoft Entra 外部租户:在开始之前,请创建 Microsoft Entra 外部租户。 可以设置 免费试用版,也可以在 Microsoft Entra ID 中创建新的外部租户。
  • 启用一次性密码(可选):如果希望客户每次登录时使用其电子邮件地址和一次性密码,请确保在租户级别启用电子邮件一次性密码(在 Microsoft Entra 管理中心中,导航到 外部标识>所有标识提供者>电子邮件一次性密码)。
  • 定义的自定义属性(可选):用户属性是在自助注册期间从用户收集的值。 Microsoft Entra ID 附带了一组内置属性,但你可以 定义在注册期间要收集的自定义属性。 提前定义自定义属性,以便你可以在设置用户流时使用它们。 也可以在以后创建和添加它们。
  • 定义的标识提供者(可选):可以提前设置与 GoogleFacebookOIDC 标识提供者 的联合,然后在创建用户流时选择它们作为登录选项。

创建和自定义用户流

按照这些步骤创建可供客户用于登录或注册应用程序的用户流。 这些步骤描述了如何添加新用户流、选择要收集的属性以及更改属性在注册页面上的顺序。

添加新用户流

  1. 登录到 Microsoft Entra 管理中心

  2. 如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户

  3. 浏览到 Entra ID>外部标识>用户流

  4. 选择“新建用户流”。

    新用户流选项的屏幕截图。

  5. 在“创建”页上的“名称”中,输入用户流的名称(例如“SignUpSignIn”)。

  6. 在“标识提供者”下,选中“电子邮件帐户”复选框,然后选择以下选项之一:

    • 带密码的电子邮件:允许新用户使用电子邮件地址作为登录名称和密码作为其第一因素身份验证方法进行注册和登录。 还可以在登录页上配置用于显示、隐藏或自定义自助密码重置链接的选项(了解详细信息)。 如果计划要求多重身份验证,可以通过此选项选择电子邮件一次性密码或短信文本验证码,也可以同时使用这两种方式作为双重验证手段。

    • 电子邮件一次性密码:允许新用户使用电子邮件地址作为登录名称和电子邮件一次性密码作为其第一因素身份验证方法进行注册和登录。 如果计划要求多重身份验证,可以将短信文本验证码作为第二重身份验证。

    注意

    “Microsoft Entra ID 注册”选项不可用,因为尽管客户可以使用另一个 Microsoft Entra 组织的电子邮件注册本地帐户,但系统不会使用 Microsoft Entra 联合身份验证来验证他们的身份。 只有在与 Google 和 Facebook 建立了联合之后,Google 和 Facebook 才可用。 详细了解身份验证方法和标识提供者

    “创建用户流”页上的“标识提供者”选项的屏幕截图。

  7. 在“用户属性”下,选择要在注册期间收集的用户属性。

    “创建用户流”页上的用户属性选项的屏幕截图。

  8. 选择“显示更多”,从属性的完整列表中进行选择,包括“职务”、“显示名称”和“邮政编码”。

    此列表还包括 你定义的任何自定义属性。 选中要在注册期间从用户收集的每个属性旁边的复选框

    选择“显示更多”后的用户属性窗格的屏幕截图。

  9. 选择“确定” 。

  10. 选择“创建”以创建用户流。

在注册和登录用户流中禁用注册

如果希望客户用户仅登录而不注册,则可以通过在 Microsoft Graph 中使用 Update authenticationEventsFlow API 在用户流中禁用注册体验,并将 onInteractiveAuthFlowStart 属性 >isSignUpAllowed 属性更新为 false。 需要知道要禁用其注册的用户流的 ID。 无法从 Microsoft Entra 管理中心读取用户流 ID,但如果知道与之关联的应用,可以通过 Microsoft Graph API 检索该 ID。

  1. 读取与用户流关联的应用程序 ID:

    1. 浏览到 Entra ID>外部标识>用户流
    2. 从列表中,选择你的用户流。
    3. 在左侧菜单中的“使用”下,选择“应用”。
    4. 从列表中,在 “应用程序”(客户端)ID 列下,复制应用程序(客户端)ID。
  2. 标识要禁用其注册的用户流的 ID。 为此, 请列出与特定应用程序关联的用户流。 这是 Microsoft Graph API,它要求您了解从上一步获取的应用程序 ID。

  3. 更新用户流 以禁用注册。

    示例

    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

后续步骤