FIREBASE警告:提供的身份验证凭据无效

Rup*_*ali 5 node.js firebase

我正在尝试在node.js中使用Firebase,但是每次重新启动服务器时,都会出现以下错误:

FIREBASE警告:提供的身份验证凭据无效。这通常表明您的FirebaseApp实例未正确初始化。确保您的apiKey和databaseURL与https://console.firebase.google.com/上为您的应用提供的值匹配,或者如果您使用的是服务帐户,请确保其被授权访问指定的databaseURL并且来自正确的项目。

以下是我的index.js:_

var express = require('express');
var router = express.Router();
var mongoose=require('mongoose');
var admin=mongoose.model('admin');


var firebase = require("firebase");

// Initialize the app with no authentication
firebase.initializeApp({
	  serviceAccount: {
    projectId: "...",
    clientEmail: "...",
    privateKey: "-----BEGIN PRIVATE KEY-----...",
  },

      databaseURL: "..."
});

console.log("sfsaf")

// The app only has access to public data as defined in the Security Rules
			var db = firebase.database();
			var ref = db.ref("unitalk-b9145");
			var messagesRef = ref.child("messages");
			
			messagesRef.push({
				name:"Rupali",
				post:"Demo test of firebase"
			});
Run Code Online (Sandbox Code Playgroud)

虽然我已经检查了服务帐户和databaseURl的路径。.请帮助..

Hal*_*FAK 1

您无法使用“firabase”包的服务帐户登录。为此,您需要使用“firabase-admin”包。您可以在此处找到详细信息 ( https://firebase.google.com/docs/database/admin/start )。

更新日期:2016 年 11 月 8 日

转到: https: //console.firebase.google.com

要使用 Firebase Admin SDK,您需要一个 Firebase 项目、一个与 Firebase 服务通信的服务帐号以及一个包含服务帐号凭据的配置文件。

  1. 导航到项目设置页面中的“服务帐户”选项卡。
  2. 选择您的 Firebase 项目。如果您还没有,请单击“创建新项目”按钮。如果您已有与您的应用程序关联的现有 Google 项目,请单击“导入 Google 项目”。
  3. 单击“服务帐户”选项卡的 Firebase Admin SDK 部分底部的“生成新私钥”按钮。
  4. 单击该按钮后,将下载包含您的服务帐户凭据的 JSON 文件。您将需要它来在下一步中初始化 SDK。

示例代码;

var admin = require("firebase-admin");

var serviceAccount = require("path/to/serviceAccountKey.json");

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "https://<DATABASE_NAME>.firebaseio.com"
});
Run Code Online (Sandbox Code Playgroud)

  • 但这样做我收到错误 - 找不到模块“serviceAccountKey.json”...因为这不是节点模块,所以我们如何要求..它是 json 中下载密钥的路径 (2认同)