【问题标题】:Forgot Password in Azure AD B2C在 Azure AD B2C 中忘记密码
【发布时间】:2021-02-02 05:02:02
【问题描述】:

我在 Android 中使用 Azure AD B2C MSAL 集成。我为ForgotPassword 创建了UserFlow,它按预期工作。当我尝试更改密码时,他们会询问注册的emailAddress,他们将发送验证码以更改密码。但是,当我在忘记密码期间尝试提供任何emailAddress 时,它会将verification code 发送到我提供的任何电子邮件中。我如何处理向任何emailAddress 发送验证码,除非emailAddress 在天蓝色中是signedup

【问题讨论】:

  • 我认为这是一个通常的工作流程,如果您想更改密码并且需要先获取验证码,您需要提供一个可以用来接收验证码的电子邮件地址,它不应该仅限于某些特定帐户,因为当时没有人可以确保他们可以访问这些帐户。顺便说一句,如果你输入了错误的邮箱地址,你将无法获取通过验证的代码,并且收到代码的人也没有使用代码的地方。
  • @Tiny-wa - 是的,我明白你的意思。但是,如果我们将验证码发送到某个名人名下的随机邮件中,即使他们没有在 azure ad b2c 注册,他们也会得到验证码。那么我们需要限制吗?
  • 我认为这完全取决于你。如果邮箱是非法的,你可以验证一下,比如xx@1.com,好像地址不对吧?顺便说一句,对于我自己来说,验证邮件包含我收到的通常格式为“[公司A],代码是123456,请不要分享给他人,有问题请联系123456”的格式。如果我不做这些操作,我最多会感到被打扰。
  • 我认为你应该做的就像this 用于验证地址。
  • @Tiny-wa - 实际上我认为,你没有明白我的意思。我会详细解释。假设我有我的 Android 应用程序注册到 Azure AD B2C 并使用电子邮件 abc@gmail.com。当我尝试使用forgot password更改密码时,它要求电子邮件发送验证码。但是当我尝试使用电子邮件“cde@gmail.com”更改abc@gmail.com 的密码时。即使cde@gmail.com 没有使用AD B2C 在我的应用程序中注册,仍然会在“cde@gmail.com”上收到验证。所以我必须防止将验证码发送到尚未注册的电子邮件地址

标签: android android-studio azure-active-directory azure-ad-b2c msal


【解决方案1】:

解决方案在此示例中

仅当电子邮件针对目录中的用户注册时,演示如何使用 displayControl 向用户发送一次性密码。

https://github.com/azure-ad-b2c/samples/tree/master/policies/pwd-reset-email-exists

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    相关资源
    最近更新 更多