使用 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