Sök…


Introduktion

Många tredjeparts API: er kräver en nyckel, vilket gör att de kan förhindra missbruk. Om de ger dig en nyckel är det mycket viktigt att du inte begår nyckeln i ett offentligt arkiv, eftersom det här gör att andra kan stjäla din nyckel.

Lagra autentiseringsnycklar med Figaro

Lägg till gem 'figaro' till din Gemfile och kör bundle install . Kör sedan bundle exec figaro install ; detta skapar config / application.yml och lägger till den i din .gitignore-fil, vilket förhindrar att den läggs till versionskontroll.

Du kan lagra dina nycklar i application.yml i detta format:

SECRET_NAME: secret_value

där SECRET_NAME och secret_value är namnet och värdet på din API-nyckel.

Du måste också namnge dessa hemligheter i config / secrets.yml. Du kan ha olika hemligheter i varje miljö. Filen ska se ut så här:

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

Hur du använder dessa tangenter varierar, men säger till exempel att some_component i utvecklingsmiljön behöver tillgång till secret_name . I config / miljöer / utveckling.rb skulle du lägga till:

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

Slutligen, låt oss säga att du vill spinna upp en produktionsmiljö på Heroku. Detta kommando laddar upp värdena i config / miljøer / produktion.rb till Heroku:

$ figaro heroku:set -e production


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow