在Rails应用程序中使用秘密密码



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

我知道rails配置中的secrets.yml文件,但我甚至无法将密码放在那里。我会把我的应用程序放在github上,任何人都可以访问。我应该如何使用secrets.yml文件来存储我的密码并在我的rails应用程序中使用它?

2个选项:

  1. 将其设置为环境变量。如何做到这一点在很大程度上取决于您使用的操作系统。关于如何做到这一点以及如何从Rails应用程序访问它,有很多教程。这些变量仅在本地可见,当您将代码推送到GitHub时不会看到。

  2. 将您的secrets.yml添加到.gitignore文件中。如果没有.gitignore文件,请在项目的根目录中创建一个。然后,只需将secrets.yml添加到该文件中即可。一旦你这样做了,git将永远在任何提交、推送等中忽略该文件,如果你将代码推送到GitHub,它也不会出现。但是,如果您已经有一个secrets.yml文件,并且它以前已经被git跟踪过,则需要删除该文件的历史记录。关于如何做到这一点的详细信息可以在这里找到。

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

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

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

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

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

如果你没有用户,那么你将被环境变量和secrets.yml或另一个类似的解决方案

所困扰

相关内容

  • 没有找到相关文章

最新更新