У версії Ruby on Rails 7.1.4 розробники повідомляють про застарілу функцію використання Rails.application.secrets
. Це попередження (Deprecation Warning) означає, що ця функція більше не рекомендується для використання і буде остаточно видалена у наступних версіях фреймворку.
Замість цього Rails радить переходити на новішу та більш безпечну альтернативу — Rails.application.credentials
. Це пов’язано з тим, що система секретів у Rails через secrets.yml
менш безпечна та гнучка у порівнянні з новим підходом з використанням шифрованих credential-файлів.
Чому варто використовувати Rails.application.credentials
?
-
Безпека: Файл з credentials у Rails шифрується, що знижує ризик витоку конфіденційної інформації (ключів API, паролів тощо).
-
Легкість в управлінні: Використання credentials дозволяє зручно керувати секретними даними для різних середовищ (production, development).
-
Майбутня підтримка: Оскільки
Rails.application.secrets
буде видалено в Rails 7.2, використання credentials гарантує сумісність з новими версіями Rails.
Як перейти на Rails.application.credentials
?
- Створіть файл з credentials за допомогою команди.
bin/rails credentials:edit
-
Додайте ваші секрети у форматі YAML у зашифрований файл.
-
Використовуйте
Rails.application.credentials[:your_key]
замістьRails.application.secrets[:your_key]
.
Отже, аби уникнути помилок у майбутніх версіях Rails та забезпечити більший рівень безпеки вашого додатку, рекомендується вже зараз перейти на використання Rails.application.credentials
.