【发布时间】: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