在节点中同时使用Firebase Admin SDK和Client SDK

时间:2018-02-01 15:59:20

标签: node.js firebase firebase-authentication firebase-admin

我在NodeJS中设置Client SDK时遇到了问题。 我已经使用以下代码在Node Server中初始化了两个SDK:

const admin = require('firebase-admin');
const client = require('firebase');

const serviceAccount = require("./serviceAccountKey.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://*******.firebaseio.com"
});

client.initializeApp({
  apiKey: "**************",
  authDomain: "***********.firebaseapp.com",
  databaseURL: "https://*********.firebaseio.com",
  storageBucket: "**********.appspot.com"
});

const clientAuth = client.auth();

管理员SDK工作正常但是当我尝试添加客户端SDK时,它会给我带来以下错误。

  

client.auth不是函数

我是firebase的新手,对于我们是否无法在同一个节点服务器中初始化两个SDK感到困惑

更新

我已经尝试使用firebase v4.6.2,它正常工作,直到版本v4.7.0才显示错误。但是当我切换到v4.8.0时,客户端SDK正在向我提出错误。当我尝试在节点服务器中单独初始化客户端SDK时它是否正常工作,所以在v4.8之后不建议在同一节点服务器上同时使用客户端和管理员SDK?

1 个答案:

答案 0 :(得分:1)

2月1日v4.9.1 release修复了client.auth is not a function错误。它似乎只依赖于客户端SDK&与使用Admin SDK无关。

更新后,您的代码应该按原样运行。