在我的rails应用程序中,我不知道将开发环境的API密钥放在哪里。我读过很多不同的方法,但到目前为止,我只有以下几种方法(条纹就是API):
config/initializers/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文件?
谢谢你的帮助。
发布于 2015-01-28 01:40:20
我最终解决这个问题的方法是将所有配置放在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我不确定这是否是解决我遇到的问题的最好方法,但它是有效的。
https://stackoverflow.com/questions/28158166
复制相似问题