我正在开发一个 React Native 应用程序,该应用程序使用 AWS Cognito 通过 aws-amplify 库进行身份验证。我目前正在实施“忘记密码”功能。
在重置用户密码的过程中,我可以调用:
await confirmResetPassword({
username: "[email protected]",
confirmationCode: "123456",
newPassword: "hunter3",
});
此函数需要在一次调用中同时获得确认码和新密码。
但是,我想首先验证确认码(检查其是否有效),然后,一旦验证码,提示用户设置新密码。
AWS Cognito 中是否有任何方法(使用 aws-amplify 或任何其他方法)单独验证确认码,而无需立即提供新密码?理想情况下,我只想传递用户名和确认代码,并获得有关代码是否有效的响应。
任何建议或替代方法表示赞赏!
AWS Cognito 身份提供商 API 在请求中需要新密码和确认代码。请参阅 ConfirmForgotPasswordCommand
的文档如果您想轻松地保留此过程,您可以简单地推迟对真实请求的确认,并在失败时从确认代码步骤重新启动。
另一种选择是替代方案的安全考虑
- 尽可能保护好确认码。你承担责任。
- 不要传递有关电子邮件或确认码是否不正确的(详细)信息。