4

我有一个使用 OAuth 连接到 Facebook 的 Rails 应用程序。我正在寻找有关如何处理我从 facebook 获得的 OAuth 密钥和秘密的完整描述。

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

我见过这个问题的一些变体,但从来没有完整而详细的答案。

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

4

2 回答 2

5

您需要将密钥和特定于环境的配置存储在代码之外。您应该以一种允许您将源代码发布到公共存储库(例如 github)的方式存储这些文件,而不会忽略源代码控制中的任何文件。这是十二因素方法论的原则。

无论如何,要回答您的问题,您可以将这些键添加为 shell 变量。这假设您正在 *nix 上进行开发。

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

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

ENV["OAUTH_SECRET"]

这些环境变量可以在部署脚本中设置,该脚本会在命令行上提示您输入它们。这也允许团队中的每个开发人员拥有自己的密钥。

于 2012-08-15T20:53:53.583 回答
0

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

于 2012-08-15T12:33:19.050 回答