Ricerca…


introduzione

Molte API di terze parti richiedono una chiave che consente loro di prevenire gli abusi. Se ti rilasciano una chiave, è molto importante non impegnare la chiave in un archivio pubblico, in quanto ciò consentirà ad altri di rubare la tua chiave.

Memorizzazione delle chiavi di autenticazione con Figaro

Aggiungi gem 'figaro' al tuo Gemfile ed esegui l' bundle install . Quindi eseguire bundle exec figaro install ; questo creerà config / application.yml e lo aggiungerà al tuo file .gitignore, impedendogli di essere aggiunto al controllo della versione.

È possibile memorizzare le chiavi in ​​application.yml in questo formato:

SECRET_NAME: secret_value

dove SECRET_NAME e secret_value sono il nome e il valore della chiave API.

Devi anche dare un nome a questi segreti in config / secrets.yml. Puoi avere diversi segreti in ogni ambiente. Il file dovrebbe assomigliare a questo:

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

Il modo in cui si utilizzano questi tasti varia, ma per esempio alcuni some_component nell'ambiente di sviluppo necessitano dell'accesso a secret_name . In config / environments / development.rb, potresti inserire:

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

Infine, diciamo che vuoi creare un ambiente di produzione su Heroku. Questo comando caricherà i valori in config / environments / production.rb in Heroku:

$ figaro heroku:set -e production


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow