gpt4 book ai didi

android - Firebase Phone Auth 不发送带有代码的短信

转载 作者:IT王子 更新时间:2023-10-29 06:53:32 25 4
gpt4 key购买 nike

我正在尝试使用 Firebase 为我的 Android 应用程序设置电话号码身份验证。我在 Firebase 控制台的“身份验证”选项卡上启用了电话身份验证,并添加了我的号码进行测试。我已经尝试使用多个号码,但尽管控制台告诉我 PhoneCodeSent 函数已被触发并显示一条成功消息,但我没有收到任何短信发送给他们。我已经尝试修复它一段时间了,但似乎找不到可靠的答案。我的代码有什么问题?

我的代码如下

...
...
...
String verificationId;
int resendingToken;

Future<void> _sendConfirmationCode() async {
if (formKey.currentState.validate()) {
formKey.currentState.save();

final PhoneVerificationCompleted verificationCompleted = (FirebaseUser user) {
setState(() {
print('verification has been completed');
});
};

final PhoneVerificationFailed verificationFailed = (AuthException authException) {
setState(() {
print(countrySelected);
print(this.phone + "\n");
print('verification failed error: ' + authException.message);}
);
};

final PhoneCodeSent codeSent = (String verificationId, [int forceResendingToken]) async {
this.verificationId = await verificationId;
this.resendingToken = await forceResendingToken;
print("code sent: "+ verificationId);
};

final PhoneCodeAutoRetrievalTimeout codeAutoRetrievalTimeout =
(String verificationId) {
this.verificationId = verificationId;
print("time out");
};

if (this.phone.isNotEmpty) {

await FirebaseAuth.instance.verifyPhoneNumber(
phoneNumber: "<PHONE NUMBER HARDCODED HERE>", //I've tried hardcoding my number too but it didn't work
timeout: const Duration(seconds: 5),
verificationCompleted: verificationCompleted,
verificationFailed: verificationFailed,
codeSent: codeSent,
forceResendingToken: resendingToken,
codeAutoRetrievalTimeout: codeAutoRetrievalTimeout);
}
}
}

以下内容被打印到控制台:

I/flutter (32425): code sent: AM5PThC4JnFK7czWDoAdqSFjBdDk5oq9VwufNvWxgcOg4fEgbHE8CoYGuWMCjzTnfPbOlpcdfefouwL86dsD5fQs73CcR3NgvI2SRqHEHgM0n34yqqJma75ZCvPGMeTmwy6XDCA9-P0p
I/flutter (32425): time out

我也尝试过等待几个小时以防达到 Firebase 的 SMS 限制,但这似乎不是问题所在。有什么想法吗?

最佳答案

当您添加一个电话号码进行测试时,您基本上是在将其列入白名单。白名单电话号码用于在不发送实际 SMS 消息的情况下测试电话号码身份验证。

不会向列入白名单的电话号码和默认 OTP 123456 发送验证码短信(除非您在添加到测试控制台时为该特定号码提供了 6 位验证码)。尝试使用此代码进行验证,它将进行身份验证并生成有效的验证 ID。

要获取短信,请从白名单中删除您的号码,然后重试。

引用:https://firebase.google.com/docs/auth/android/phone-auth#test-with-whitelisted-phone-numbers

关于android - Firebase Phone Auth 不发送带有代码的短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55465594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com