Ruby on Rails
Verificatiesleutels veilig opslaan
Zoeken…
Invoering
Veel API's van derden hebben een sleutel nodig om misbruik te voorkomen. Als ze u een sleutel geven, is het erg belangrijk dat u de sleutel niet in een openbare repository vastlegt, omdat anderen hierdoor uw sleutel kunnen stelen.
Verificatiesleutels opslaan met Figaro
Voeg gem 'figaro'
aan je Gemfile en voer de bundle install
. Voer vervolgens bundle exec figaro install
; Hiermee wordt config / application.yml gemaakt en aan uw .gitignore-bestand toegevoegd, waardoor het niet aan versiebeheer kan worden toegevoegd.
U kunt uw sleutels in application.yml in deze indeling opslaan:
SECRET_NAME: secret_value
waarbij SECRET_NAME en geheime_waarde de naam en waarde van uw API-sleutel zijn.
U moet deze geheimen ook een naam geven in config / secrets.yml. U kunt in elke omgeving verschillende geheimen hebben. Het bestand zou er zo uit moeten zien:
development:
secret_name: <%= ENV["SECRET_NAME"] %>
test:
secret_name: <%= ENV["SECRET_NAME"] %>
production:
secret_name: <%= ENV["SECRET_NAME"] %>
Hoe u deze sleutels gebruikt, varieert, maar bijvoorbeeld dat een some_component
in de ontwikkelomgeving toegang nodig heeft tot secret_name
. In config / environment / development.rb zou je het volgende plaatsen:
Rails.application.configure do
config.some_component.configuration_hash = {
:secret => Rails.application.secrets.secret_name
}
end
Laten we tot slot zeggen dat u een productieomgeving op Heroku wilt stimuleren. Met deze opdracht worden de waarden in config / environment / production.rb geüpload naar Heroku:
$ figaro heroku:set -e production