需要Firebase社区的帮助!!
我们已经在 Flutter 中使用电话提供商实现了 Firebase 身份验证。
下面在pubsec.yaml中配置的插件
firebase_core: ^1.3.0 firebase_auth: ^1.4.1
await FirebaseAuth.instance.verifyPhoneNumber(
phoneNumber: phoneNumberText,
verificationCompleted: (PhoneAuthCredential authCredential) =>
_verificationComplete(
context, authCredential, phoneNum,
updateWrongPhoneUI: updateWrongPhoneUIWidget,
duplicateUser: duplicateUserhandler),
verificationFailed: (FirebaseAuthException exception) =>
_verificationFailed(exception,
updateWrongPhoneUI: updateWrongPhoneUI),
//尝试 5 次后 - 我们得到的响应too-many-requests
codeSent: (String verificationIdLocal, int resendTokenLocal) => _codeSent(
verificationIdLocal, resendTokenLocal,
updateWrongPhoneUI: updateWrongPhoneUI),
**//在此回调中,我们重定向到输入屏幕获取 OTP**codeAutoRetrievalTimeout: (String verificationId) {
print('FirebaseAuth ' 'Code auto retrieval Timedout');
},
);
问题:尝试对同一电话号码进行电话身份验证 5 次后,短信 (OTP) 停止流动。
我们正在运行SPARK定价计划。
根据他们的支持团队,限制为每 5 小时 4 条短信。
如果在一段时间内多次发送到同一电话号码,则会限制消息。
因此,您可以执行以下任一操作:
- 使用其他电话号码进行测试或
- 等待一段时间后再试
以下是文档中的引述:
为防止滥用,Firebase 对短信数量实施了限制 可以在一段时间内发送到单个电话号码的消息 时间。如果超出此限制,电话号码验证请求 可能会受到限制。如果在开发过程中遇到此问题, 使用其他电话号码进行测试,或重试请求 后。
现在,您最多可以添加 10 个虚构(测试)电话号码。
意味着您可以将这些电话号码用于测试目的
- 不消耗使用配额。
- 无需发送实际短信。(它的工作原理类似于用于测试的user_name密码)。
现在转到此处并启用身份平台并单击提供程序,然后单击手机上的编辑按钮 身份验证
然后会出现一个屏幕,在其中添加您的测试电话号码(例如 +919876543210)和您自己的 OTP(例如 123456)
注意:在添加您的手机号码进行测试之前,请确保在现有的身份验证选项卡中删除您的手机号码,否则它不起作用