【问题标题】:Firebase Client JS SDK - Where to save private keys? [duplicate]Firebase Client JS SDK - 在哪里保存私钥? [复制]
【发布时间】:2021-05-17 10:07:25
【问题描述】:

到目前为止,我一直将 Firebase 项目私钥保存在我的 React Native 应用程序的 app.json 中。像这样:

"web": {
  "config": {
    "firebase": {
      "apiKey": "x",
      "authDomain": "x.firebaseapp.com",
      "databaseUrl": "https://x.firebaseio.com",
      "projectId": "x",
      "storageBucket": "x.appspot.com",
      "messagingSenderId": "x",
      ...
    }
  }
},

但是看着docs,我看到了以下内容:

警告:请勿在您的 反应应用!

环境变量嵌入到构建中,这意味着任何人都可以 通过检查应用的文件来查看它们。

那么,如果我不应该在前端存储机密,我该如何使用 Firebase 客户端 sdk?

【问题讨论】:

    标签: javascript reactjs firebase react-native


    【解决方案1】:

    配置中的 API 密钥不是密钥,它是一个 public key,用作标识符和加密过程的一部分 - 因此不需要保护。

    如果您要创建一个新的service account 或使用现有的service account 对后端基础架构具有潜在的关键访问权限,则该帐户的私钥不应包含在您的前端代码中。

    相反,您将创建一个 firebase cloud function,您可以在其中使用该秘密而不会将其暴露给外界。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-14
      • 2017-12-14
      • 2012-12-28
      • 1970-01-01
      • 2017-05-13
      • 2010-11-24
      • 2013-06-02
      • 2018-10-22
      相关资源
      最近更新 更多