2012-08-15 99 views
4

我有一个使用OAuth连接到Facebook的Rails应用程序。我在寻找的是一个完整的描述如何处理OAuth密钥和秘密我从facebook获得。在Rails中处理Oauth消费者密钥和秘密的正确方法是什么?

  1. 在哪里存放它们?
  2. 如何将它们存储在那里?我看到一个答案,它应该是一个env变量,但我在寻找具体细节:如何将它们添加到env?手动?脚本?什么脚本?它应该在哪里?那么源代码控制呢?生产呢?
  3. 任何其他细节,我应该知道为了实施开发,测试和生产的解决方案。

我已经看到这个问题的一些变种,但从来没有一个完整和详细的答案。

我真的在寻找整体流程,但也需要所有可能看起来微不足道的小细节,但对于理解这一点非常重要。

回答

5

您将要在代码之外存储您的密钥和环境特定的配置。你应该以允许你在github上的公共仓库中公开你的源代码的方式存储它们,而不会忽略源代码管理中的任何文件。这是十二因素方法论的一个原则。

无论如何,要回答你的问题,你可以添加这些键作为shell变量。这假定你正在开发* nix。

$ echo "export OAUTH_SECRET='kie92j8fKEHHE92Va1njk3'" >> ~/.bash_profile 

现在在你的Rails代码,您可以访问所有的环境变量:

ENV["OAUTH_SECRET"] 

这些环境变量可以在提示你为他们在命令行上部署脚本设置。这也允许你的团队中的每个开发人员拥有他或她自己的密钥。

0

大多数人创建自己的config.yml。这很容易做到。 Here是关于创建config.yml的详细说明。

+0

谢谢你的链接,但我正在寻找更详细和具体的解释 – davidrac 2012-08-15 13:28:42

相关问题