我正在实施电话验证(firebase提供)。用户输入电话号码后,firebase会向该电话号码发送验证码。
但有时代码无法在手机上收到,所以我想添加重新发送代码的选项。
在这种情况下,firebase不允许您立即重新发送代码,在重新发送代码之前需要一段时间。否则它会给出错误:
我在启用重发按钮之前添加了 60s 的时间间隔,但这不是谷歌所需的时间。
多一点可能 80-90 秒。我已经阅读了文档,但找不到任何相关信息。
任何人都可以告诉我这件事吗?重新发送代码需要多长时间?
对于“形式”,这是我的代码:
var appVerifier = window.recaptchaVerifier;
fire.auth().signInWithPhoneNumber(refinedNumber, appVerifier)
.then(function (confirmationResult) {
thisclass.setState({
btnLoading: '',
page: 'code'
})
var timeleft = 60;
setInterval(function(){
if (timeleft > 0) {
timeleft--;
thisclass.setState({
resendTime: 'Resend Code In '+timeleft+'s'
})
}else{
thisclass.setState({
resendTime: '',
resendEnabled: ''
})
}
}, 1000)
// user in with confirmationResult.confirm(code).
window.confirmationResult = confirmationResult;
}).catch(function (error) {
// Error; SMS not sent
// ...
});
答案 0 :(得分:1)
等待重新发送代码不应该是特定的时间段。但是由于传递延迟,建议在重新发送代码之前等待。 FirebaseUI-web在重新发送代码之前等待15秒:
这一点也很重要,因为将代码发送到同一个电话号码的次数有限,以防止可能的滥用。