Szukaj…


Wprowadzenie

Wiele interfejsów API innych firm wymaga klucza, który pozwala im zapobiegać nadużyciom. Jeśli wydadzą ci klucz, bardzo ważne jest, aby nie przekazać klucza do publicznego repozytorium, ponieważ pozwoli to innym osobom ukraść ten klucz.

Przechowywanie kluczy uwierzytelniających za pomocą Figaro

Dodaj gem 'figaro' do Gemfile i uruchom bundle install . Następnie uruchom bundle exec figaro install ; spowoduje to utworzenie config / application.yml i doda go do pliku .gitignore, zapobiegając dodaniu go do kontroli wersji.

Możesz przechowywać klucze w application.yml w tym formacie:

SECRET_NAME: secret_value

gdzie SECRET_NAME i wartość tajna to nazwa i wartość klucza API.

Musisz także nazwać te sekrety w config / secrets.yml. Możesz mieć różne tajemnice w każdym środowisku. Plik powinien wyglądać następująco:

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

Sposób korzystania z tych kluczy jest różny, ale powiedzmy na przykład, że some_component w środowisku programistycznym potrzebuje dostępu do secret_name . W config / environment / development.rb umieściłbyś:

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

Na koniec załóżmy, że chcesz uruchomić środowisko produkcyjne w Heroku. To polecenie prześle wartości z config / environment / production.rb do Heroku:

$ figaro heroku:set -e production


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow