【问题标题】:How to update user password in Cognito user pool without old password using Amplify?如何使用 Amplify 在没有旧密码的情况下更新 Cognito 用户池中的用户密码?
【发布时间】:2020-09-14 05:11:03
【问题描述】:

我们有多步注册表单,用户可以在第 2 步设置密码。 (用户注册应该发生在第 1 步本身)因此,我们将在第 1 步中设置随机密码并在 Cognito 用户池中注册用户详细信息。 但最终用户从第 2 步提交实际密码。 Cognito 不会在不发送旧密码(从步骤 1 随机生成)的情况下更新密码(从步骤 2 开始)。 Cognito 认为这个过程将是密码更新。

那么我们需要如何处理这种情况呢?或者是否有任何 amplify 提供的选项/技巧来克服这种情况?

【问题讨论】:

    标签: amazon-cognito aws-amplify


    【解决方案1】:

    需要更多上下文来充分理解为什么在这种情况下用户需要随机密码。

    例如,如果您正在尝试创建一个多屏注册流程,并且您不希望用户在流程结束时发现他们的密码不符合标准,那么就已经发送电子邮件存在等等,可能更有利于用户体验首先使用ListUsers检查用户是否已经存在于用户池中,在他们完成步骤时收集数据,最后调用SignUp API 调用。

    虽然我强烈建议重新考虑所采用的方法,但 AdminSetUserPassword 是一个后端 API 调用,可用于为用户设置永久密码,但应特别注意此方法以防止 API 调用被其他用户恶意使用。

    【讨论】:

    • 谢谢。我看到 AdminSetUserPassword 在我的情况下是更好的方法。
    猜你喜欢
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 2013-03-29
    相关资源
    最近更新 更多