onr*_*tkn 2 security google-app-engine facebook node.js firebase
我有一个 Firebase 项目,用户可以与该项目共享一些由媒体和文本组成的内容。为了让 Facebook 正确处理链接,共享内容必须有一个预先填充的页面(在服务器端动态创建,而不是在使用 Firebase JS API 的客户端上)。
因此,我决定使用 Google App Engine (GAE) 将这些内容作为 URL 提供,例如 somedomain.com/?content=hfe84gfjy45xs
var admin = require("firebase-admin");
// Fetch the service account key JSON file contents
var serviceAccount = require("path/to/serviceAccountKey.json");
// Initialize the app with a null auth variable, limiting the server's access
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://databaseName.firebaseio.com",
databaseAuthVariableOverride: null
});Run Code Online (Sandbox Code Playgroud)
将path/to/serviceAccountKey.json文件放在项目文件夹中是否安全?我是否必须将文件放入 Google Cloud Storage 实例?
提前致谢。
express-firebase有一个很好的例子来实现这一点。
将您serviceAccountKey.json的项目添加到您的项目中,但在您的项目中引用该文件路径,.gitignore因此不会将其签入源代码管理。
创建一个 .env 变量,它是你的路径serviceAccountKey.json:
FIREBASE_SERVICE_ACCOUNT_KEY_PATH=./service-account-key.json
Run Code Online (Sandbox Code Playgroud)
请参阅dotenv以在 JS 应用程序中加载环境变量。
从那里,您可以像这样简单地引用您的服务帐户文件并将其传递给cert函数:
const serviceAccount = require(process.env.FIREBASE_SERVICE_ACCOUNT_KEY_PATH);
admin.credential.cert(serviceAccount)
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
2238 次 |
| 最近记录: |