Amazon cognito 如何在AWS Cognito中取消密码重置?

Amazon cognito 如何在AWS Cognito中取消密码重置?,amazon-cognito,reset-password,Amazon Cognito,Reset Password,我在React应用程序中使用AWS Cognito作为身份验证提供者。我注意到重置密码流有一个问题: 想象一下,我忘记了密码,请求重置密码。Cognito给我发了一封带有安全代码的电子邮件。然后,我记住了密码,不想再更改了。我不能,因为即使我使用正确的密码登录,它仍然会将我发送到设置新密码页面。这似乎是一个安全问题,因为任何人都可以强制其他用户重置密码,只要他们知道自己的电子邮件地址 这是Cognito设计的还是我使用Cognito时的一个bug?您需要验证忘记密码/身份验证流是如何在您的应用程

我在React应用程序中使用AWS Cognito作为身份验证提供者。我注意到重置密码流有一个问题:

想象一下,我忘记了密码,请求重置密码。Cognito给我发了一封带有安全代码的电子邮件。然后,我记住了密码,不想再更改了。我不能,因为即使我使用正确的密码登录,它仍然会将我发送到设置新密码页面。这似乎是一个安全问题,因为任何人都可以强制其他用户重置密码,只要他们知道自己的电子邮件地址


这是Cognito设计的还是我使用Cognito时的一个bug?

您需要验证忘记密码/身份验证流是如何在您的应用程序中实现的。重置密码页面不应发送所需的
NEW\u Password\u
MFA质询,也不应将用户状态更改为需要用户池中的新密码

API调用为用户生成重置代码,而API调用接受代码并允许用户更改密码。这些API调用不会更改用户重置密码的状态,也不会创建MFA质询


为完整起见,一旦发送密码重置代码,则无法取消该代码,尽管发送另一个代码将使第一个无效。

恕我直言,我并不是要取消密码重置代码。我不想强迫用户在发送代码后更改密码。听起来我需要检查一下我们的应用程序。谢谢你的检查。我发现:我们使用的是AdminResetPassword API调用,而不是ForgotPassword。除上述问题外,其行为类似。