我需要通过 访问 firebase admin Firebase 函数 .我有一个通过 HTTP 触发器调用的函数,它将创建自定义身份验证 token 。
在 Firebase admin documentation ,他们说你需要引用JSON
包含所有 key 的文件 ( serviceAccount
)
var serviceAccount = require("path/to/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://<databaseName>.firebaseio.com"
})
由于我已经在自己的 Firebase 函数中,我需要上传这些 key 还是可以通过任何其他方式访问它?
将我所有的管理 key 上传到 Firebase 存储只是为了类型转换新 token 感觉非常不必要......
最佳答案
您可以使用 functions.config().firebase
获取 Firebase 配置实例,然后将其直接传递给 initializeApp()
Admin SDK 的方法:
var admin = require("firebase-admin"); var functions = require("firebase-functions"); // Pass the Firebase config directly to initializeApp() to auto-configure // the Admin Node.js SDK. admin.initializeApp(functions.config().firebase);
来自 use environment configuration to initialize a module documentation :
When you deploy functions using the Firebase CLI,
functions.config().firebase
is auto-populated with configuration needed to initialize the firebase-admin SDK.So you can put this in your code:
const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase);
已经注意到
functions.config()
仅在 Cloud Functions 托管环境中可用,因此 not available when emulating functions locally .作为解决方法,您可以导出 functions.config()
至 .runtimeconfig.json
通过在您的函数目录中运行以下命令:firebase functions:config:get > .runtimeconfig.json
关于firebase - 是否有可能通过内部功能访问 firebase admin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47134595/