【问题标题】:Where to save and read credential file for the DigitalOcean App Platform?DigitalOcean 应用平台的凭证文件在哪里保存和读取?
【发布时间】:2022-10-21 05:19:44
【问题描述】:

我创建了使用 Firebase Admin SDK - https://firebase.google.com/docs/admin/setup#node.js_2 的 docker 后端应用程序。 在启动时,应用程序从某处读取 JSON 文件。

FirebaseApp.Create(new AppOptions()
{
    Credential = GoogleCredential.FromFile("path/to/credentials_file.json"),
});

我想将此应用程序部署在DigitalOcean 应用平台.我可以在哪里保存这个 credentials_file.json? DigitalOcean 应用平台是否支持它?

笔记:

  • 应用程序是一个公共的 docker 镜像,所以我不能把文件放在镜像里面。

【问题讨论】:

    标签: firebase docker firebase-security digital-ocean digital-ocean-apps


    【解决方案1】:

    一种不太为人所知的初始化 SDK 的方法是使用 cert 函数。然后您可以简单地将配置作为单行 JSON 字符串传递:

    import { cert, initializeApp } from "firebase-admin/app";
    
    
    initializeApp({
      credential: cert(JSON.parse(process.env.FIREBASE_ADMIN_SDK_CONFIG)),
    });
    

    【讨论】:

    • 我在 Go 中为 Heroku 部署做了类似的事情。
    【解决方案2】:

    Heroku 上可能有使用附加组件的解决方案,但我找不到。上面关于cert 函数的答案,:fire:

    我为 Render 工作,这是我们想要解决的托管服务提供商的困境之一。如果您有兴趣尝试新的云,我认为您可以使用secret files 来存储证书文件并安全地检索它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-06
      • 2021-10-14
      • 1970-01-01
      • 2017-05-13
      • 2010-09-08
      • 1970-01-01
      • 2012-11-23
      • 1970-01-01
      相关资源
      最近更新 更多