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

向Firebase Firestore模拟器写入数据时出现INVALID_REFRESH_TOKEN错误如何解决

错误产生原因

该错误属于Firebase身份认证环节校验刷新令牌失败,结合Firestore模拟器的使用场景,常见触发原因如下:

  • 本地缓存了生产环境令牌冲突:之前使用过同项目生产环境Firebase服务,本地留存的生产环境刷新令牌与模拟器环境的鉴权规则不兼容
  • 模拟器依赖服务未完整启动:仅启动了Firestore模拟器,未同步启动Auth身份认证模拟器,SDK默认请求生产环境鉴权接口校验令牌失败
  • SDK连接配置错误:未在代码中显式指定Auth模拟器地址,SDK仍然向生产环境请求鉴权令牌,返回的令牌无法在模拟器环境通过校验
  • 端口配置不匹配:Auth模拟器启动端口和代码中指定的模拟器端口不一致,请求到错误的鉴权端点

排查修复方案

  • 检查模拟器启动参数:启动模拟器时确保同步启动Auth和Firestore模块,启动命令补充--only auth,firestore,启动后确认控制台显示两个模块对应的端口与配置无冲突
  • 校验SDK模拟器配置:在初始化Firebase实例前,先显式指定两个模块的模拟器地址,配置示例如下:
    前端JS示例:
    firebase.auth().useEmulator("http://localhost:9099");
    firebase.firestore().useEmulator("localhost", 8080);
    
    安卓示例:
    firebaseAuth.useEmulator("10.0.2.2", 9099)
    firebaseFirestore.useEmulator("10.0.2.2", 8080)
    
    注意必须先配置模拟器地址,再执行登录、数据读写等操作
  • 清理本地缓存的身份令牌:前端清理浏览器本地存储中firebase:authUser:开头的缓存数据,移动端卸载重装测试应用清除本地所有Firebase相关缓存
  • 使用模拟器环境生成测试身份:访问localhost:4000进入模拟器控制台,在Auth模块创建测试用户,使用该测试用户在模拟器环境登录后再执行Firestore写入操作,禁止复用生产环境的登录态
  • 隔离开发环境配置:测试环境使用独立的Firebase配置项,不要和生产环境的apiKey、项目ID等配置混用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:18:03