amazon-web-services - Cognito 在通过电话确认之前更改电话号码

标签 amazon-web-services aws-lambda amazon-cognito

我要换 phone_number用户通过电话确认之前的属性。我的流程步骤:

  • 用户通过用户名、密码和电话号码注册
  • 用户必须输入手机收到的确认码。在此步骤中用户要更改电话号码(错误号码或更改电话...)

  • 2.1 如果第一个电话号码错误,下一个电话号码是正确的 -> 只发送了一个确认码 -> 有效!

    2.2 如果第一个电话号码和下一个电话号码正确 -> 已经发送了两个确认码(第一个 - xxx, 2nd - yyy) -> 用户输入第二个确认代码,Cognito 抛出 CodeMismatchException: Invalid verification code provided, please try again.错误。用户输入第一个代码,用户已被确认,但在 Cognito 系统中用户有 phone_number是第二个数字和 phone_number_verifiedtrue .

    我用 adminUpdateUserAttributes改变 phone_number具有状态的用户的身份是 UNCONFIRMED .我打电话更改电话号码后自动发送确认码。

    如何解决这个问题?

    !!!更​​新

    目前,我删除了功能 User can update their phone_number before they confirmed via phone从我的应用程序。

    我需要大约 5 天,我只想记下我的案子。

    当您尝试更新时 phone_number (或 email) 属性,Cognito 会自动向您的手机(或电子邮件)发送确认,这是第一个代码 - (1st - xxx),用于确认您的新属性值的代码(不用于用户确认)。

    同时,逻辑代码调用resendConfirmationCode函数,它发送第二个代码 - (2nd - yyy),这是只有第二个代码工作的主要原因(我们使用 confirmSignUp 函数来处理代码)。

    最佳答案

    我在 Cognito 团队,和 behrooziAWS 一样。在查看您的场景后,它似乎确实是我们这边的一个错误。我会在团队中提及它,以便我们相应地优先考虑它。

    关于amazon-web-services - Cognito 在通过电话确认之前更改电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46193223/

    相关文章:

    json - AWS CloudFormation Cognito 身份提供商 (SAML)

    amazon-web-services - 如何将 Okta 配置为 AWS Cognito 身份池的 SAML IdP?

    java - AWSLambdaClient 的替代品是什么

    amazon-web-services - LibreOffice:加载共享库时出错:libdbus-glib-1.so.2

    java - Sentry SDK Java 不适用于 aws lambda

    aws-lambda - 微服务与功能即服务(faas)

    amazon-web-services - AWS EKS 和 ECS Fargate 之间的区别

    amazon-web-services - 无服务器框架不会将内部文件夹部署到 aws

    python - 使用 Lambda Python 将 json 写入 Parquet 对象以放入 S3

    amazon-web-services - AWS Cognito - 重置用户 MFA