Rails环境变量与Rails 5.2凭证

时间:2019-03-04 17:02:55

标签: ruby-on-rails ruby-on-rails-5.2

我只是想知道两者之间的具体区别

环境变量ENV[SOME_VARIABLE]

vs。

设置5.2凭据Rails.application.credentials.some_variable

我何时应该使用一个与另一个?凭证是否替换了env变量?

2 个答案:

答案 0 :(得分:0)

凭据存储在加密文件中,并检入到存储库中。有一个主密钥文件充当开发中的密钥,并且您将主密钥文件的值设置为生产中的环境变量,并且两个环境都可以访问凭据。另一方面,应将环境变量用于不是秘密的值。通常,环境变量仍然不会检入您的存储库。

答案 1 :(得分:0)

什么时候应该使用 env:

  • 当您在项目中没有修复任何变量时
  • 当您不需要特定于环境的密钥时

您应该何时使用凭据:

  • 当您需要经常更新密钥并且想要在本地更新它以进行测试并且还希望安全地维护它时(因为每个环境都有自己的凭证文件和自己的访问密钥)
  • 当您希望特定于环境的键值隔离环境明智的服务访问时。例如,您希望在登台和生产时维护不同的 fcm 服务渠道,以防止内部测试时信息泄漏
相关问题