使用 Figaro 存储身份验证密钥

gem 'figaro'添加到你的 Gemfile 并运行 bundle install。然后运行 bundle exec figaro install; 这将创建 config / application.yml 并将其添加到 .gitignore 文件中,防止将其添加到版本控制中。

你可以使用以下格式将密钥存储在 application.yml 中:

SECRET_NAME: secret_value

其中 SECRET_NAME 和 secret_value 是 API 密钥的名称和价值。

你还需要在 config / secrets.yml 中命名这些秘密。你可以在每个环境中拥有不同的秘密。该文件应如下所示:

development:
  secret_name: <%= ENV["SECRET_NAME"] %>
test:
  secret_name: <%= ENV["SECRET_NAME"] %>
production:
  secret_name: <%= ENV["SECRET_NAME"] %>

你如何使用这些密钥各不相同,但是例如说开发环境中的 some_component 需要访问 secret_name。在 config / environments / development.rb 中,你要放:

Rails.application.configure do
  config.some_component.configuration_hash = {
    :secret => Rails.application.secrets.secret_name
  }
end

最后,假设你希望在 Heroku 上启动生产环境。此命令将 config / environments / production.rb 中的值上传到 Heroku:

$ figaro heroku:set -e production