Где настроить ключи API разработки rails 4

Мне сложно понять, где разместить ключи API для среды разработки в моем приложении rails. Я читал о множестве разных способов сделать это, но пока это то, что у меня есть (Stripe - это API):

конфигурация / инициализаторы / stripe.rb:

Rails.configuration.stripe = {
  :publishable_key => ENV['PUBLISHABLE_KEY'],
  :secret_key      => ENV['SECRET_KEY']
  :client_id => ENV['CLIENT_ID']
}

Stripe.api_key = Rails.configuration.stripe[:secret_key]

Я использую Heroku для производства, поэтому я знаю, как настроить рабочие ключи. Мне сложно понять, где хранить ключи для разработки, чтобы я мог протестировать их на своем локальном хосте. Должны ли они зайти в файл config / secrets.yml? Или, возможно, файл config / environment / development.rb?

Спасибо за вашу помощь.


person Kelly    schedule 26.01.2015    source источник


Ответы (1)


Что я сделал для решения этой проблемы, так это поместил всю конфигурацию в папку config / secrets.yml и заставил git игнорировать этот файл, чтобы производственные ключи не хранились в каком-либо репозитории.

Выглядит это так:

development:
  secret_key_base: < secret key base >
  stripe_publishable_key: < publishable key >
  stripe_secret_key: < stripe secret key >
  stripe_client_id: < stripe client id >

test:
  secret_key_base: < secret key base >

production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
  stripe_publishable_key: < publishable key >
  stripe_secret_key: < stripe secret key >
  stripe_client_id: < stripe client id >

Затем я изменил свой config / initializers / stripe.rb на это:

Stripe.api_key = Rails.application.secrets.stripe_secret_key

Я не уверен, что это лучший способ решить мою проблему, но он работает.

person Kelly    schedule 27.01.2015