在服务器上存储我自己的访问令牌/秘密的正确方法
Posted
技术标签:
【中文标题】在服务器上存储我自己的访问令牌/秘密的正确方法【英文标题】:Proper way to store my own access tokens/secrets on server 【发布时间】:2016-12-21 19:56:02 【问题描述】:当您学习前端开发时,信条是永远不要将密码存储在客户端上——只存储在服务器/数据库上。所以现在我正在构建 API 并使用 Twitter 等第三方,我意识到,因为我使用的是 Github,后来又推送到 Heroku,所以我在服务器上没有地方存储我的令牌/秘密(因为 Heroku 拉来自 Github,我无法添加到 .gitignore)。
我想到了两个解决方案:
1) 存储在数据库中。对于较小的应用程序,该选项似乎微不足道,但可扩展性。 2)加密服务器上的信息并以这种方式上传。
当您拥有敏感信息并从 Github 推送到 Heroku 时,最佳做法是什么?
【问题讨论】:
重复programmers.stackexchange.com/questions/163506/… 很好,谢谢! 【参考方案1】:这里的答案是这样的(对于任何找到这个帖子的人):使用 Heroku 环境变量。
Heroku 鼓励您将任何特定于应用程序的敏感信息存储在环境变量中。您可以通过 Heroku 命令行工具或 Heroku 仪表板设置这些变量。
如果你想在命令行中设置 Heroku 环境变量,你可以这样做:
$ heroku config:set MY_VARIABLE=my_value
这将存储环境变量。
由于您使用的是 Node.js,因此您可以通过执行以下操作在 Heroku 代码中读取这些变量的值:
console.log(process.env.MY_VARIABLE);
在Node中,你可以通过process.env
作为对象访问环境变量=)
【讨论】:
以上是关于在服务器上存储我自己的访问令牌/秘密的正确方法的主要内容,如果未能解决你的问题,请参考以下文章
如何从机器人聊天中获取 Twitter OAuth 访问令牌/秘密?