如何在Rails中使用Figaro安全地存储电子邮件凭据

时间:2018-09-25 21:37:38

标签: ruby-on-rails

因此,我对如何使用Figaro安全地存储我的电子邮件凭据感到困惑-即将把我的应用程序从开发推向生产。尽管我不知道从哪里开始和结束,但在https://github.com/laserlemon/figaro的指南中已注明。我尝试在堆栈溢出中搜索有关此问题的指南,但没有找到。在安装了Figaro之后,我应该采取什么步骤将所述凭据存储在开发中,然后将我的应用程序投入生产?谢谢。 ps。我是Rails的初学者。

我的Git位于https://github.com/cheese1884/197451

Using Figaro and Secrets.yml to Manage Env Variables到2018年仍然有意义吗?

1 个答案:

答案 0 :(得分:0)

我想将其添加为答案,以使其更易于阅读和遵循。从您的响应中,您已经建立了一个application.yml,它将在您的代码中的某处具有您要引用的值。

使用一个简单的示例,我在application.yml中设置了用户名和密码。

application.yml

development:
  username: Mark
  password: secret123

production:
  username: admin
  password: supersecret123

如果我随后想要在代码中获取值,则可以使用以下语法:

Figaro.env.username

哪些应该返回(开发中):

Mark

当您压入代码以使用相同的命令时,将从生产块中获取该值并返回:

admin 

类似地,您可以使用

来获取密码。
Figaro.env.password

当推送应用程序时。yml是一个与其他文件一样的文件。就像我在您的评论中说的那样,我不知道您的部署方式。我们有一个capistrano脚本,可运行该脚本将存储库复制到服务器。然后手动添加application.yml,因为它不包含在存储库中。我们不使用Heroku,而且我自己也从未使用过它,因此无法对此发表评论。

希望这可以增加一些清晰度。