在Rails中,处理Oauth Consumer Key和Secret的正确方法是什么?
在Rails中,处理Oauth Consumer Key和Secret的正确方法是什么?
我有一个使用OAuth与Facebook连接的Rails应用程序。我正在寻找的是一个关于如何处理我从Facebook获得的OAuth密钥和密钥的全面说明。
- 在哪里存储它们?
- 如何存储它们?我看到有人说应该是一个环境变量,但我想要具体的细节:如何将它们添加到环境中?手动添加?脚本添加?使用什么脚本?应该放在哪里?关于源代码控制怎么办?关于生产环境怎么办?
- 在开发、测试和生产中实施解决方案时,还有其他细节我需要了解。
我看到了一些类似的问题,但从来没有一个完整而详细的答案。
我真的想要整体的流程,但也需要所有看起来微不足道但对理解这个问题很重要的细节。
什么是在Rails中处理Oauth Consumer Key和Secret的正确方法?
出现的原因:
- 需要将秘钥和环境特定的配置信息存储在代码之外,以便能够公开发布源代码,而不需要忽略源代码控制中的任何文件。
- 遵循Twelve-Factor Methodology的原则。
解决方法:
- 将秘钥添加为shell变量(假设在*nix系统上开发)。
$ echo "export OAUTH_SECRET='kie92j8fKEHHE92Va1njk3'" >> ~/.bash_profile
- 在Rails代码中,可以通过访问环境变量来获取秘钥。
ENV["OAUTH_SECRET"]
- 这些环境变量可以在部署脚本中设置,并在命令行上提示输入。这样每个开发人员都可以拥有自己的秘钥。
有很多人喜欢创建自己的config.yml文件来处理OAuth Consumer Key和Secret。这样做非常简单,可以通过以下链接这里详细了解如何创建config.yml文件。不过,有人还是希望能够提供更详细和具体的解释。