如何在Heroku上保护管理员SDK键



我正在使用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

奖励点是您可以更改该键而无需重新部署应用程序。

最新更新