我在哪里放置Stripe的可发布和密钥?

时间:2014-02-19 14:54:23

标签: ruby-on-rails stripe-payments

我在开发环境中工作。

我在/ config / initializers下有一个stripe.rb文件,其内容是:

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

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

我试图将它们放在那里(在ENV ['key-here']中)但是Stripe不识别它们并返回错误。

为了使它工作,我在启动我的rails服务器之前传递它们:

PUBLISHABLE_KEY=pk_test_XXXXXXXXXXXXX SECRET_KEY=sk_test_XXXXXXXXXXXX rails s

我在哪里将这些值放在我的Rails应用程序中? (因为我将很快在生产中部署)

由于

1 个答案:

答案 0 :(得分:6)

  

我在哪里将这些值放在我的Rails应用程序中?

你没有。

您不希望这些内容出现在您的源代码中,因为任何有权访问您的源代码的人都可以访问您的Stripe帐户(并开始让您的客户付费...)。< / p>

它们应该在服务器上的环境变量中。如果这看起来不方便,您可以查看figaro,它可以帮助您处理敏感信息。

请注意,如果您的yml文件不是由您编写的(例如,如果注入了某些内容),则存在一定的安全风险(有人可能会在那里注入恶意代码)。您可以使用safe_yml来预防这类风险。

最后,如果您在Heroku上进行部署,您可以configure variables在那里使用您的应用程序。