,确保这些信息的最佳实践是什么
我正在使用Google的admin SDK,并将其节点backend用于AUTH。由于我打算将其放在Heroku上,因此我想保护我的私人数据。众所周知,确保诸如私钥之类的东西是一个好主意。在我的项目中,我从JSON文件中导入配置,例如:
var serviceAccount = require("./AdminSDKFirebase.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://<DATABASE_NAME>.firebaseio.com"
});
,然后我有AdminSDKFirebase.json
文件,放置config。
{
"type": "service_account",
"project_id": "",
"private_key_id": "",
"private_key": "",
"client_email": "",
"client_id": "",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": ""
}
如果我想将信息部署到heroku?
最好的做法是按照Heroku的https://12factor.net/config。
因此,将您的私钥导出到Heroku App
heroku config:set FIREBASE_PRIVATE_KEY='......'
并将其包含在您的配置对象中:
"private_key": process.env.FIREBASE_PRIVATE_KEY
奖励点是您可以更改该键而无需重新部署应用程序。