Ruby on Rails
Memorizzazione sicura delle chiavi di autenticazione
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