Recherche…


Introduction

De nombreuses API tierces requièrent une clé leur permettant de prévenir les abus. S'ils vous délivrent une clé, il est très important que vous ne commettiez pas la clé dans un référentiel public, car cela permettra aux autres de voler votre clé.

Stockage des clés d'authentification avec Figaro

Ajoutez gem 'figaro' à votre Gemfile et exécutez l' bundle install . Puis exécutez bundle exec figaro install ; Cela va créer config / application.yml et l'ajouter à votre fichier .gitignore, l'empêchant d'être ajouté au contrôle de version.

Vous pouvez stocker vos clés dans application.yml dans ce format:

SECRET_NAME: secret_value

où SECRET_NAME et secret_value sont le nom et la valeur de votre clé API.

Vous devez également nommer ces secrets dans config / secrets.yml. Vous pouvez avoir différents secrets dans chaque environnement. Le fichier devrait ressembler à ceci:

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

La manière dont vous utilisez ces clés varie, mais par exemple, some_component dans l'environnement de développement nécessite l'accès à secret_name . Dans config / environnements / development.rb, vous mettriez:

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

Enfin, supposons que vous souhaitiez créer un environnement de production sur Heroku. Cette commande téléchargera les valeurs dans config / environnements / production.rb vers Heroku:

$ figaro heroku:set -e production


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow