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


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow