是否有可能通过内部功能访问 firebase admin?
Any possibility to access firebase admin through functions internally?
我需要通过 Firebase 函数 访问 firebase 管理。我有一个通过 HTTP 触发器调用的函数,并将创建自定义身份验证令牌。
在 Firebase admin documentation 中,他们说您需要参考包含所有密钥的 JSON
文件 (serviceAccount
)
var serviceAccount = require("path/to/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://<databaseName>.firebaseio.com"
})
由于我已经在我自己的 Firebase 函数中,我是否需要上传这些密钥或者我可以通过任何其他方式访问它吗?
感觉没有必要将我所有的管理密钥上传到 Firebase 存储只是为了铸造新的令牌...
您可以使用 functions.config().firebase
获取 Firebase 配置实例,然后将其直接传递给 Admin SDK 的 initializeApp()
方法:
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 托管环境中可用,因此 。作为解决方法,您可以通过 运行 函数目录中的以下命令将 functions.config()
导出到 .runtimeconfig.json
:
firebase functions:config:get > .runtimeconfig.json
我需要通过 Firebase 函数 访问 firebase 管理。我有一个通过 HTTP 触发器调用的函数,并将创建自定义身份验证令牌。
在 Firebase admin documentation 中,他们说您需要参考包含所有密钥的 JSON
文件 (serviceAccount
)
var serviceAccount = require("path/to/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://<databaseName>.firebaseio.com"
})
由于我已经在我自己的 Firebase 函数中,我是否需要上传这些密钥或者我可以通过任何其他方式访问它吗?
感觉没有必要将我所有的管理密钥上传到 Firebase 存储只是为了铸造新的令牌...
您可以使用 functions.config().firebase
获取 Firebase 配置实例,然后将其直接传递给 Admin SDK 的 initializeApp()
方法:
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 托管环境中可用,因此 functions.config()
导出到 .runtimeconfig.json
:
firebase functions:config:get > .runtimeconfig.json