В Rails 5.2 + у нас есть файл master.key и файл YAML для учетных данных.Файл master.key шифрует ваши учетные данные (поэтому никогда не показывайте этот ключ никому, кроме вашего сервера).
Вы можете активировать его, выполнив:
EDITOR=vim rails credentials:edit
Файл:
aws:
key: 123
google_key: 456
secret_key_base: f230ffddd1d1f151j3bchjas9a292j221...
Если вы хотите использовать учетные данные, они выглядят так:
Rails.application.credentials.google_key
или для вложенных ресурсов, таких как AWS:
Rails.application.credentials.aws[:key]
Но если вы включены Rails 5.1 или меньше , у вас нет этой способности.Итак, вы делаете это по-другому:
Переменные среды.Ваша программная среда всегда может экспортировать ENV и извлекать его.Я всегда делаю это для простых неприятностей, таких как тестовые пароли электронной почты:
export GMAIL_PASSWORD="1234"
и его использование, ENV['GMAIL_PASSWORD']
Secrets.yml.Это файл, который в основном предшествует учетным данным master.key +, выполняя роль промежуточного обработчика учетных данных для ваших сред.Он дергается и часто ошибочно совершает репо случайно, но мы делаем то, что можем:
development:
secret_key_base: 1112sdasae1d13d1tfd1d3...
GMAIL_PASSWORD: '1234'
test:
secret_key_base: _your_secret_ as above
production:
secret_key_base: <%= secure_token %>
И к нему обращаются как Rails.application.secrets.GMAIL_PASSWORD
Если вы не можете получить доступ к своим переменным, это может быть из-за того, что файл secrets.yml не загружается или вы находитесь в неправильной среде.Обратите внимание, что эти переменные вложены в определенные среды.