在Rails App中使用密码

时间:2016-07-20 14:24:08

标签: ruby-on-rails ruby ruby-on-rails-3

我正在开发一个rails应用程序,如果发生某个进程,我需要在github上发送一个问题。要发送帖子请求,我需要使用我的github用户名和密码。我无法在开放时使用我的密码。我该怎么办?

我对rails config中的secrets.yml文件有所了解,但我甚至无法将密码放在那里。我将我的应用程序放在github上,任何人都可以访问。我应该如何使用secrets.yml文件存储我的密码并在我的rails应用程序中使用它?

3 个答案:

答案 0 :(得分:2)

2个选项:

  1. 将其设为environmental variable。您是如何完全依赖于您使用的操作系统。有很多关于如何操作以及如何从Rails应用程序访问它的教程。这些变量仅在本地可见,并且在您将代码推送到GitHub时不会被看到。

  2. 将您的secrets.yml添加到.gitignore文件中。如果您没有.gitignore文件,请在项目的根目录中创建一个。{1}}。然后,只需将secrets.yml添加到该文件即可。一旦你这样做,git将永远忽略任何提交,推送等文件,并且如果你将代码推送到GitHub则不会显示。但是,如果您已经有一个secrets.yml文件并且之前已经通过git进行了跟踪,那么您需要删除该文件的历史记录。有关如何执行此操作的详细信息,请参阅here

答案 1 :(得分:1)

您不应该将secret.yml提交到您的git存储库。包含生产机密的secret.yml应仅存在于服务器上(并且只能由服务器管理员访问)。

此外,您可能希望使用API​​令牌而不是用户名和密码,因为API令牌更容易更改。

答案 2 :(得分:0)

这可能是一个很好的解决方案。

https://github.com/attr-encrypted/attr_encrypted

您可以加密密码并将其保存到分配给用户的数据库中(如果您有一个当然)。

如果您没有用户,那么您将无法使用环境变量和secrets.yml或其他类似解决方案