Flutter中使用Firebase模拟器演示项目时API密钥报错如何解决?
解决Firebase Auth本地模拟器API Key无效问题
问题原因
当前代码仅完成了Firebase初始化,但未配置Firebase Auth客户端指向本地模拟器,导致客户端仍尝试连接Firebase生产环境,'any'这个无效API Key会被生产环境拒绝,从而触发报错。
修复步骤
配置Auth客户端指向本地模拟器
在Firebase初始化完成后,添加代码让Auth客户端使用本地模拟器服务:Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp( options: FirebaseOptions( apiKey: 'any', appId: 'any', messagingSenderId: 'any', projectId: 'demo-test', )); // 新增:指定本地Auth模拟器的地址和端口(默认端口为9099) await FirebaseAuth.instance.useAuthEmulator('localhost', 9099); runApp(...); }若启动模拟器时自定义了端口,需将代码中的端口号改为对应值。
保持模拟器启动参数不变
继续使用原启动命令即可,demo-test项目ID无需真实存在,只要与初始化代码中的projectId一致:firebase emulators:start --project demo-test --only auth
验证
重启Flutter应用与模拟器后,再次调用createUserWithEmailAndPassword接口,即可正常与本地模拟器交互,不会再出现API Key无效的错误。
内容的提问来源于stack exchange,提问作者vogdb
相关产品推荐
相关产品推荐

