You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Flutter移动端Google_Sign_in对接本地Firebase模拟器?

Flutter移动端对接Firebase Auth模拟器实现本地虚拟账号登录问题

Web端实现情况

在Flutter Web端可直接配置连接本地模拟器,并使用虚拟账号登录:

await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
await FirebaseAuth.instance.useAuthEmulator('localhost', 9099);
GoogleAuthProvider googleProvider = GoogleAuthProvider();
await FirebaseAuth.instance.signInWithRedirect(googleProvider);

Web端本地模拟器登录界面

移动端当前问题

在Flutter移动端执行类似操作时,认证流程始终会跳转至Google服务器,即便后续能通过认证结果登录本地模拟器:

// 触发认证流程
final GoogleSignInAccount? googleUser = await GoogleSignIn().signIn();

// 获取认证详情
final GoogleSignInAuthentication? googleAuth = await googleUser?.authentication;

// 创建认证凭证
final credential = GoogleAuthProvider.credential(
  accessToken: googleAuth?.accessToken, 
  idToken: googleAuth?.idToken,
);

// 连接本地模拟器登录
await FirebaseAuth.instance.signInWithCredential(credential);

提问:如何让Flutter移动端像Web端一样对接本地Firebase模拟器,无需跳转Google服务器认证,直接使用本地虚拟账号?


解决方法

要在Flutter移动端跳过Google服务器认证,直接使用Firebase Auth模拟器的虚拟账号,可通过以下两种方式实现:

1. 使用模拟器自定义token登录

Firebase Auth模拟器支持生成自定义测试token,直接用该token就能完成登录,无需走第三方认证流程:

await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
// 先连接本地模拟器
await FirebaseAuth.instance.useAuthEmulator('192.168.x.x', 9099); // 替换为电脑局域网IP

// 从Firebase模拟器控制台Auth面板生成并复制测试token
String testToken = "你的模拟器自定义测试token";

// 使用token登录
await FirebaseAuth.instance.signInWithCustomToken(testToken);

操作步骤:打开Firebase模拟器控制台的Auth面板,点击「Add user」创建虚拟账号,复制该账号对应的自定义token即可在代码中使用。

2. 匿名登录+自定义用户信息

如果不需要关联第三方账号信息,可先匿名登录,再通过模拟器控制台修改用户信息模拟不同测试账号:

await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
await FirebaseAuth.instance.useAuthEmulator('192.168.x.x', 9099);

// 匿名登录
UserCredential userCredential = await FirebaseAuth.instance.signInAnonymously();

// 后续可在模拟器控制台修改该用户的邮箱、显示名称等信息

关键注意事项

  • 移动端设备需和运行模拟器的电脑处于同一局域网,代码中要将localhost替换为电脑的局域网IP地址,否则无法连接模拟器。
  • 必须在调用任何认证方法前执行useAuthEmulator配置,确保所有Auth请求都指向本地模拟器。

内容的提问来源于stack exchange,提问作者Cupid Chan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 09:33:29