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

Firebase v2.4.2中auth()调用报错,基础认证示例无法运行如何解决?

解决Firebase v2.4.2中signInWithEmailAndPassword调用报错的问题

嘿,我一眼就看出问题所在了——在Firebase v2.4.2这个老版本里,你不能直接用数据库引用myDB去调用auth()方法!这正是你收到Firebase.auth failed: Was called with 0 arguments. Expects at least 1.报错的原因。

在v2版本的Firebase里,认证功能和数据库引用是分开的,正确的操作方式是这样的:

  • 第一步:获取正确的Auth实例
    你需要从已有的数据库引用中获取对应的Auth对象,而不是直接在数据库引用上调用auth()。用getAuth()方法就能做到:

    // 从你的数据库引用获取Auth实例
    var authInstance = myDB.getAuth();
    
  • 第二步:调用登录方法
    拿到Auth实例后,再调用signInWithEmailAndPassword就没问题了:

    authInstance.signInWithEmailAndPassword(email, password).catch(function(error) {
      // 这里处理错误逻辑,比如打印错误信息
      console.error("登录出错:", error.code, "-", error.message);
      // 也可以给用户展示友好提示,比如:
      // alert("登录失败:" + error.message);
    });
    
  • 另一种写法:直接创建Auth实例
    如果你不想通过数据库引用获取,也可以直接用全局的FirebaseAuth构造函数创建实例:

    var authInstance = new FirebaseAuth(new Firebase('https://myDB.firebaseio.com'));
    authInstance.signInWithEmailAndPassword(email, password).catch(function(error) {
      // 错误处理逻辑
    });
    

最后别忘了检查你的Firebase控制台,确保已经开启了邮箱/密码类型的登录认证,不然就算代码写对了,也会因为权限问题登录失败哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:40:01