You need to enable JavaScript to run this app. Firebase Auth模拟器调用邮箱密码登录REST端点的正确方式
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Auth模拟器调用邮箱密码登录REST端点的正确方式

Firebase Auth 模拟器密码登录REST端点配置方案

Auth模拟器完全兼容线上Firebase Auth的REST接口规范,不存在功能缺失,之前请求报错的核心原因是路径结构和模拟器的路由规则不匹配。

正确的对等端点格式

当Auth模拟器运行在本地9099端口时,和线上/v1/accounts:signInWithPassword功能完全对等的请求地址为:
http://localhost:9099/identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[你的项目API Key]

之前试错路径的问题说明

  • 直接拼接http://localhost:9099/v1/accounts:signInWithPassword的写法不对:模拟器的路由规则要求请求路径必须带上完整的线上服务域名前缀,不能直接省略服务域名段
  • 拼接/emulator/v1前缀的路径不对:这个路径段是预留的模拟器管理接口(比如清空账号、导出用户数据)专用前缀,不承载业务侧的用户登录、注册等常规Auth接口
  • 尝试旧版/identitytoolkit/v3/relyingparty/verifyPassword路径不对:当前版本的Auth模拟器已全面切换为v1接口路由,不再兼容旧的v3版业务路径
  • 拼接/projects/[项目ID]/accounts的路径返回权限不足是正常的:这个路径属于账号批量管理类接口,要求请求携带管理员权限的身份凭证,裸请求没有权限访问该类接口,本身也不是密码登录的目标端点

请求使用注意事项

  • 必须使用POST方法发起请求,和线上接口的方法要求完全一致,用GET方法请求该端点会直接返回404
  • 请求体格式和线上环境完全一致,不需要为模拟器做适配,示例结构如下:
    {
      "email": "test@example.com",
      "password": "登录密码",
      "returnSecureToken": true
    }
    
  • 查询参数里的key字段填本地测试项目对应的API Key即可,模拟器不会像线上环境一样严格校验Key的真实性,只要格式符合要求就能正常路由到对应逻辑
  • 不需要在路径里额外拼接项目ID参数,模拟器会自动关联当前运行的默认测试项目实例
  • 如果使用自定义域名映射到9099端口(比如identitytoolkit.localhost:9099这类格式),请求路径也必须保持/identitytoolkit.googleapis.com/v1/accounts:signInWithPassword的完整结构,不能省略服务域名段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 06:24:09