【问题标题】:Azure B2C - Add/Update Authentication Contact InfoAzure B2C - 添加/更新身份验证联系信息
【发布时间】:2017-09-28 07:46:44
【问题描述】:

我们正在使用带有 使用 MFA 重置密码策略的 Azure B2C。 ADAL 用于身份验证和 Graph API 以创建/更新用户。

当用户调用重置密码策略(通过应用程序上的链接)时,他首先需要提供用于发送验证码的电子邮件地址。然后(因为启用了 MFA),如果用户的 Authentication Contact Info 中有电话号码,Azure 可以发送短信或拨打该号码执行第二次身份验证检查。

但是,如果用户的身份验证联系信息中没有电话号码,则 Azure 会要求用户输入电话号码以发送短信/拨打该号码。此时,用户可以输入任何数字,因此并没有真正增加安全性!

所以我有两个问题:

  1. 当我通过 ADAL + Graph (C#) 创建用户时,如何将电话号码指定为身份验证联系信息(我尝试了 Mobile 或 TelephoneNumber,但显然,这些不是正确的字段)以便 Azure 不会要求我输入随机电话号码来执行 MFA?

  2. 如果 1. 可行,如何在身份验证信息部分更新此电话号码(以 C# 编程方式)?

谢谢!

【问题讨论】:

    标签: azure-ad-b2c azure-ad-graph-api


    【解决方案1】:

    截至今天,AD Graph API 不支持以编程方式为 AAD B2C 用户添加 MFA 电话号码。因此,您可能希望在注册期间启用 MFA,以便捕获用户的电话号码并将其存储在目录中,并用于需要 MFA 的后续身份验证。

    您看到的情况是用户的电话号码未在目录中注册 MFA。这可能在多种情况下发生:

    1. 在注册期间,用户验证他们的电子邮件地址并提供密码,点击提交(因此在目录中创建了一个帐户),但在完成 MFA 之前退出。
    2. 用户帐户是以编程方式创建的,在这种情况下,无法以编程方式添加电话号码(如您在问题中所述,可以通过管理 UI 添加)。
    3. 该应用程序最初从没有 MFA 的策略开始,但后来决定在部分或所有策略中引入 MFA。

    在所有这些场景中,当用户第一次尝试访问需要 MFA 的应用程序(或其任何部分)并且帐户中不存在电话号码时,Azure AD B2C 将要求用户验证并输入他们帐户上的电话号码。只有这样,应用程序才会获得令牌。

    这并不特定于密码重置,而是针对我上面描述的场景的所有策略。例如,应用程序可以将 MFA 添加到登录策略中,如果记录中没有电话,则在登录过程中,将要求用户提供电话号码并进行验证。

    【讨论】:

    • 感谢 Omer,这很清楚!由于不同的原因,我们需要有一个自定义的注册表单来注册,因此我们正在以编程方式添加用户......所以我想,目前还没有适合我们的解决方案。
    • 嗨 Ben,Azure AD B2C 允许您自定义要在注册期间从用户那里收集的属性,并允许您完全自定义 UI 样式。您可以研究一下,看看是否可以满足您的需求。如果是这样,您可以在注册 MFA 时要求提供电话号码。
    • 确实,我们正在为登录页面这样做,而我现在正在为注册页面进行调查。但是,假设我们设法使用默认页面,用户稍后将如何更改他的手机(身份验证信息)?是通过个人资料编辑政策吗?
    • 另外,如果我想稍后使用此电话号码发送短信/通知,如何在用户个人资料中访问它(当然是通过编程方式)?
    猜你喜欢
    • 2020-01-29
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 2018-12-17
    • 2021-07-12
    • 2016-05-06
    相关资源
    最近更新 更多