gua*_*unt 1 amazon-cognito boto3 aws-cognito
我已经使用AdminResetPassword和ForgotPassword进行工作,但我在API文档中发现了一个矛盾之处,该矛盾之处令人困惑,似乎表明目前尚无完整的管理员初始化重置密码流程解决方案。
开发人员调用此API时,当前密码无效,因此必须更改。如果用户在调用API后尝试登录,则该应用将返回一个PasswordResetRequiredException异常,并应将用户引导至该流程以重置密码,该密码与忘记密码的流程相同。
但是,ForgotPassword文档指出,ConfirmForgotPassword是忘记密码流的一部分,ConfirmForgotPassword文档要求将旧密码作为请求的一部分进行传递。密码字段描述为:
用户请求获取的忘记密码的密码。
因此,文档声称AdminResetPassword和ForgotPassword使用相同的流程来重置密码,但是,实际上,ForgotPassword允许恢复密码,而AdminResetPassword使当前密码无效。此后的流量似乎不可能相同。
这是文档中的错误吗?还是我误会了aws cognito中重置密码的工作方式?
如果提到的两个流程不同,那么使用AdminResetPassword使密码无效后,用于重置密码的完整流程是什么?
好吧,我不喜欢这样做,但是我找到了答案。
该文档确实有一些误导点,如下所述,但不一定是明确错误的。
1.)调用ForgotPassword和AdminResetPassword后,用户密码无效。对于AdminResetPassword,用户通过电子邮件/短信获取“验证码”,实际上是带有ConfirmForgotPassword API方法的“确认码”字段。这是误导。
2.)在ConfirmForgotPassword API调用中,文档将“密码”字段描述为:
用户请求找回忘记密码的密码
但是,此字段实际上是用户要设置的新密码。
3.)文档未能注意到没有秘密集的客户端不需要“秘密哈希”字段。
因此,ConfirmForgotPassword确实可以作为AdminResetPassword或ForgotPassword的后续调用,同时牢记以上几点。
| 归档时间: |
|
| 查看次数: |
670 次 |
| 最近记录: |