首页 文章

Azure B2C - 添加/更新身份验证联系信息

提问于
浏览
2

我们使用的是带有 Reset password policy using MFA 的Azure B2C . ADAL用于身份验证,Graph API用于创建/更新用户 .

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

但是,如果用户的“身份验证联系信息”中没有电话号码,则Azure会要求用户输入电话号码以发送短信/呼叫该号码 . 此时,用户可以输入任何数字,这样就不会真正增加一层安全性!

所以我有两个问题:

  • 当我通过ADAL Graph(C#)创建用户时, how can I specify a phone number as an Authentication Contact Info (我尝试过Mobile或TelephoneNumber,但很明显,这些不是正确的字段),以便Azure不会要求我输入随机电话号码来执行MFA?

  • 如果可能, how can I update this phone number in the authentication info section (以编程方式在C#中)?

谢谢 !

1 回答

  • 2

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

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

    • 在注册过程中,用户验证其电子邮件地址并提供密码,单击提交(因此在目录中创建了一个帐户),但在完成MFA之前退出 .

    • 用户帐户是以编程方式创建的,在这种情况下,无法以编程方式添加电话号码(可以通过管理界面添加,如问题中所述) .

    • 该应用程序最初是在没有MFA的情况下启动的,但随后决定在部分或全部政策中引入MFA .

    在所有这些情况下,用户第一次尝试访问需要MFA和电话号码的应用程序(或其任何部分)时,帐户中不存在Azure AD B2C将要求用户验证并输入其电话号码在帐户上 . 只有这样,应用程序才会发出令牌 .

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

相关问题