【发布时间】: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