正确的方式来存储我自己的访问令牌/秘密在服务器上

当你学习前端开发时,信条就是永远不在客户端存储密码 – 只能在服务器/数据库上存储。 所以现在我正在构buildAPI和使用Twitter等第三方,我意识到,因为我使用Github,后来推到Heroku,我没有地方在服务器上存储我的令牌/秘密(因为Heroku拉从Github我不能添加到一个.gitignore)。

我有两个解决scheme:

1)存储在一个数据库。 对于较小的应用程序而言,这个选项似乎微不足道,但可扩展 2)encryption服务器上的信息,并以这种方式上传。

当你有敏感信息时,最好的做法是什么,并从Github推向Heroku?

这里的答案是(对于任何发现这个线程的人):使用Heroku环境variables。

Heroku鼓励您将任何应用程序特定的敏感信息存储在环境variables中。 您可以通过Heroku命令行工具或Heroku仪表板设置这些variables。

如果你想在命令行上设置Heroku环境variables,你可以这样做:

$ heroku config:set MY_VARIABLE=my_value 

这将存储环境variables。

既然你在使用Node.js,你可以通过这样的方式来读取你的Heroku代码中这些variables的值:

 console.log(process.env.MY_VARIABLE); 

在Node中,可以通过process.env作为对象来访问环境variables=)