【问题标题】:Firebase Auth Are my variables secure/safe?Firebase Auth 我的变量是否安全/安全?
【发布时间】:2020-09-10 19:28:20
【问题描述】:

我目前正在使用 heroku 来存储我的环境变量以用于我的 firebase 身份验证初始化。我正在使用我的服务器获取环境变量并使用 socket.io 将其发送到客户端。以下是我的意思。

1) 服务端向客户端发送环境变量示例:

socket.emit('value', process.env.apiKey);

2) 将其作为数据[0] 存储在客户端中:

socket.on('value', function(data) {
firebase.initializeApp({
        apiKey: data[0],
});
})

这样安全吗?如果我将 apiKey 的值这样保存在客户端,客户端中的某个人可以检索它的值吗?

谢谢

【问题讨论】:

  • 您传递给initializeApp 的数据是基本配置数据。这不是秘密,也不是安全机制,可以安全地与您的用户共享。见stackoverflow.com/questions/37482366/…
  • 但我的问题是人们能看到这个数据值吗?
  • 该值存在于客户端,恶意用户可以获取。不对客户端内部的配置进行硬编码只会增加一个额外的步骤。

标签: node.js firebase heroku socket.io firebase-authentication


【解决方案1】:

如果数据是从客户端使用的,恶意用户可以从那里获取。像您在此处那样动态查找数据,只是增加了一个额外的步骤。

但您传递给initializeApp 的数据是基本配置数据,允许代码在服务器上找到您的 Firebase 项目。这不是秘密,也不是安全机制,可以安全地与您的用户共享。请在此处查看我的答案,了解为什么您不必尝试保护这些数据:Is it safe to expose Firebase apiKey to the public?

【讨论】:

    猜你喜欢
    • 2014-12-20
    • 1970-01-01
    • 2015-11-04
    • 2018-09-03
    • 1970-01-01
    • 2010-12-18
    • 2011-02-11
    • 1970-01-01
    • 2017-05-24
    相关资源
    最近更新 更多