我要换 phone_number
用户通过电话确认之前的属性。我的流程步骤:
2.1 如果第一个电话号码错误,下一个电话号码是正确的 -> 只发送了一个确认码 -> 有效!
2.2 如果第一个电话号码和下一个电话号码正确 -> 已经发送了两个确认码(第一个 - xxx, 2nd - yyy) -> 用户输入第二个确认代码,Cognito 抛出
CodeMismatchException: Invalid verification code provided, please try again.
错误。用户输入第一个代码,用户已被确认,但在 Cognito 系统中用户有 phone_number
是第二个数字和 phone_number_verified
是 true
.我用
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/