繁体   English   中英

firebase电话验证不会重新发送代码[React Native]

[英]firebase phone auth doesn't resend code [React Native]

我正在使用React Native Firebase电话身份验证,并且它第一次起作用。 但是当我尝试第二次,第三次使用该号码来签到WithInPhoneNumber时,我似乎无法重新发送OTP代码

在此处输入图片说明

firebase会自动假定该号码已经登录。firebase控制台上有该号码,但是我完全没有验证OTP代码。

我尝试从控制台删除该号码,然后再次执行signInWithPhoneNumber,但结果仍然相同:

据我所知,如果您尝试使用signInWithPhoneNumber或verifyPhoneNumber,firebase将重新发送OTP代码吗?

我在哪里做错了?

在此处输入图片说明

这里可能发生两件事:

  • 设置电话验证时,您可能将超时设置得太高
  • 您可能尚未设置正在进行电话验证的标记

您可以在Firebase电话身份验证文档中看到更多信息

verifyPhoneNumber方法是可重入的:如果您多次调用它,例如在活动的onStart方法中,除非原始请求已超时,否则verifyPhoneNumber方法将不会发送第二条SMS。

如果您的应用在用户可以登录之前关闭(例如,当用户使用其SMS应用时),则可以使用此行为来恢复电话号码登录过程。 调用verifyPhoneNumber后,设置一个标志,指示正在进行验证。 然后,将标志保存在Activity的onSaveInstanceState方法中,并在onRestoreInstanceState中还原该标志。 最后,在您的Activity的onStart方法中,检查是否已在进行验证,如果是,请再次调用verifyPhoneNumber。 验证完成或失败时,请确保清除该标志(请参阅验证回调)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM