你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为用户流设置电话注册和登录

除了电子邮件和用户名之外,你还可以将电话号码注册和登录添加到你的本地帐户标识提供者,从而使电话号码能够在租户范围内成为注册选项。 在为本地帐户启用电话注册和登录后,可将电话注册添加到用户流。

在用户流中设置电话注册和登录涉及以下步骤:

在为用户流配置电话注册时,默认情况下会禁用多重身份验证 (MFA)。 你可以在具有电话注册的用户流中启用 MFA,但是,由于使用电话号码作为主标识符,因此,对于第二个身份验证因素,只提供电子邮件一次性密码这一个选项。

配置租户范围内的电话注册和登录

在默认情况下,本地帐户标识提供者设置中会启用电子邮件注册。 可以通过选择或取消选择电子邮件注册、用户名或电话号码来更改将在租户中支持的标识类型。

  1. 登录 Azure 门户

  2. 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。

  3. 选择 Azure 门户左上角的“所有服务”,然后搜索并选择“Azure AD B2C” 。

  4. 在“管理”下,选择“标识提供者” 。

  5. 在标识提供者列表中,选择“本地帐户”。

    Identity providers select Local account

  6. 在“配置本地 IDP”页中,确保已选择“电话”作为允许的身份类型(使用者可用于在你的 Azure AD B2C 租户中创建其本地帐户)之一 。

    Select the allowed identity types

  7. 选择“保存”。

将电话注册添加到用户流

在为本地帐户添加了电话注册作为标识选项后,可将其添加到用户流,只要这些用户流是最新的建议用户流版本即可。 以下示例演示如何将电话注册添加到新用户流。 不过,你也可以将电话注册添加到现有的推荐版本用户流(选择“用户流”>“用户流名称”>“标识提供者”>“本地帐户电话注册”) 。

以下示例演示如何将电话注册添加到新用户流。

  1. 登录 Azure 门户

  2. 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。

  3. 在 Azure 门户中,搜索并选择“Azure AD B2C”。

  4. 在“策略”下,依次选择“用户流”、“新建用户流”。

    User flows page in portal with New user flow button highlighted

  5. 在“创建用户流”页面上,选择“注册和登录”用户流 。

    Select a user flow page with sign-up and sign-in flow highlighted

  6. 在“选择版本”下,选择“建议”,然后选择“创建” 。 (详细了解用户流版本。)

    Create user flow button

  7. 为用户流输入名称,例如 signupsignin1。

  8. 在“标识提供者”部分中“本地帐户”下,选择“电话注册” 。

    User flow Phone signup option selected

  9. 在“社交标识提供者”下面,选择要允许此用户流使用的任何其他标识提供者。

    注意

    在默认情况下,对于注册用户流,多重身份验证 (MFA) 处于禁用状态。 你可以为电话注册用户流启用 MFA,但由于使用电话号码作为主标识符,因此对于第二重身份验证来说,就只能选择提供电子邮件一次性密码和 Authenticator 应用 - TOTP(预览版)。

  10. 在“用户属性和令牌声明”部分中,请选择在注册期间要从用户收集和发送的声明和属性。 例如,选择“显示更多”,然后选择“国家/地区”、“显示名称”和“邮政编码”的属性和声明。 选择“确定”。

  11. 选择“创建”以添加用户流。 名称中会自动附加前缀 B2C_1。

启用恢复电子邮件提示(预览版)

在为用户流启用电话注册和登录时,最好启用恢复电子邮件功能。 使用此功能,用户可以提供电子邮件地址,该地址可用于在没有电话的情况下恢复用户帐户。 此电子邮件地址只用于帐户恢复。 它不能用于登录。

  • 在恢复电子邮件提示处于打开状态时,系统会要求首次注册的用户验证备份电子邮件。 对于以前未提供恢复电子邮件的用户,系统会在他们下次登录的过程中要求他们验证备份电子邮件。

  • 在恢复电子邮件处于关闭状态时,注册或登录的用户不会看到恢复电子邮件提示。

可以在用户流属性中启用恢复电子邮件提示。

注意

在开始之前,请确保已按上文所述将电话注册添加到了用户流

启用恢复电子邮件提示

  1. 登录 Azure 门户

  2. 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。

  3. 在 Azure 门户中,搜索并选择“Azure AD B2C”。

  4. 在 Azure AD B2C 中的“策略”下,选择“用户流” 。

  5. 从列表中选择用户。

  6. 在“设置”下,选择“属性” 。

  7. 在“启用电话号码注册和登录的恢复电子邮件地址提示(预览)”旁边,选择:

    • “打开”,以在注册和登录过程中都显示恢复电子邮件提示。
    • “关闭”,以隐藏恢复电子邮件提示。

    User flows properties with Enable recovery email enabled

  8. 选择“保存”。

测试恢复电子邮件提示

在用户流中启用了电话注册和登录以及恢复电子邮件提示后,可使用“运行用户流”来测试用户体验。

  1. 选择“策略”>“用户流”,然后选择所创建的用户流 。 在用户流概述页上,选择“运行用户流”。

  2. 对于“应用程序”,选择在步骤 1 中注册的 Web 应用程序。 “回复 URL”应显示为 https://jwt.ms

  3. 选择“运行用户流”,并验证以下行为:

    • 系统会要求首次注册的用户提供恢复电子邮件。
    • 对于已注册但尚未提供恢复电子邮件的用户,系统会要求他们在登录时提供恢复电子邮件。
  4. 输入电子邮件地址,然后选择“发送验证码”。 验证是否已将代码发送到你提供的电子邮件收件箱。 检索该验证码,并将其输入到“验证码”框中。 然后选择“验证验证码”。

我们强烈建议你在注册和登录流程中加入同意信息。 我们提供了示例文本。 请参考 CTIA 网站上的《短代码监视手册》,并咨询你自己的合法或合规性专家,获取有关最终文本和功能配置的指南,以满足合规性需求:

通过提供你的电话号码,即表明你同意接收通过短信发送的一次性密码,以帮助你登录 <insert: your application name>。 可能会按标准短信和数据费率收费。

<插入:指向隐私声明的链接>
<插入:指向服务条款的链接>

启用同意信息

  1. 登录 Azure 门户

  2. 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,切换到“目录 + 订阅”菜单中的 Azure AD B2C 租户。

  3. 在 Azure 门户中,搜索并选择“Azure AD B2C”。

  4. 在 Azure AD B2C 中的“策略”下,选择“用户流” 。

  5. 从列表中选择用户。

  6. 在“自定义”下选择“语言”。

  7. 若要显示同意文本,请选择“启用语言自定义”。

    Enable language customization

  8. 若要自定义同意信息,请从列表中选择语言。

  9. 在语言面板中,选择“手机登录页面”。

  10. 选择“下载默认值”。

    Download default

  11. 打开下载的 JSON 文件。 搜索以下文本,并对其进行自定义:

    • disclaimer_link_1_url:请将“替代”更改为“true”,并添加你的隐私信息的 URL。

    • disclaimer_link_2_url:请将“替代”更改为“true”,并添加你的使用条款的 URL。 

    • disclaimer_msg_intro:请将“替代”更改为“true”,并将“值”更改为所需的免责声明字符串。 

  12. 保存文件。 在“上传新替代”下,浏览到文件并将其选中。 确认你看到“上传替代成功”通知。

  13. 选择“电话注册页”,然后重复步骤 10 到 12。

获取目录中用户的电话号码

  1. 在 Graph 浏览器中运行以下请求:

    GET https://graph.microsoft.com/v1.0/users/{object_id}?$select=identities

  2. 在返回的响应中查找 issuerAssignedId 属性:

        "identities": [
            {
                "signInType": "phoneNumber",
                "issuer": "contoso.onmicrosoft.com",
                "issuerAssignedId": "+11231231234"
            }
        ]
    

后续步骤