Firebase手机登录提示‘登录提供商已禁用’问题求助
Firebase手机认证提供商禁用错误解决方案
一、重新验证控制台配置
- 进入Firebase控制台,打开认证→登录方法→手机号,确认开关处于开启状态。
- 检查下方的应用限制,确保你的应用包名/Bundle ID已被添加或设置为“所有应用”。
- 重新下载最新的
google-services.json(Android)或GoogleService-Info.plist(iOS),替换项目中的旧文件,确保配置与控制台同步。
二、处理代码中的测试模式设置
你的signInWithPhone方法中启用了测试模式:
await _firebaseAuth.setSettings(appVerificationDisabledForTesting: true);
- 如果是正式环境,直接注释或删除这行代码。
- 如果需要测试,必须在Firebase控制台认证→登录方法→手机号→测试号码中添加你使用的测试手机号,否则会触发提供商禁用错误。
三、更新Firebase依赖版本
在pubspec.yaml中确保firebase_auth、firebase_core等依赖为最新稳定版,旧版本可能存在配置兼容性问题:
dependencies: firebase_core: ^2.15.0 firebase_auth: ^4.10.0
执行flutter pub get更新依赖。
四、修正代码中的潜在逻辑问题
在saveUserDataToFirebase方法中,错误地将手机号赋值给了userModel.uid,这会导致后续数据库操作异常,建议修正为:
userModel.uid = _firebaseAuth.currentUser!.uid;
内容的提问来源于stack exchange,提问作者Muhammad Tawil
相关产品推荐
相关产品推荐

