Поиск…


Вступление

Многим сторонним API требуется ключ, позволяющий им предотвращать злоупотребления. Если они выдают вам ключ, очень важно, чтобы вы не передавали ключ в общий репозиторий, так как это позволит другим украсть ваш ключ.

Хранение ключей аутентификации с помощью 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 / environment / development.rb вы должны поставить:

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

Наконец, допустим, вы хотите развернуть производственную среду на Heroku. Эта команда будет загружать значения в config / environment / production.rb в Heroku:

$ figaro heroku:set -e production


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow