【问题标题】:How to securely store password for external API in a database in Rails?如何在 Rails 的数据库中安全地存储外部 API 的密码?
【发布时间】:2012-12-06 08:43:31
【问题描述】:

我正在构建一个需要用户登录的 Rails 应用程序。应用程序还需要为用户存储登录名和密码,以访问外部 API 的资源。我使用bcrypt-ruby 进行应用程序登录,但我不确定为外部站点存储用户名和密码的最佳方式。我可以就如何做到这一点提出一些建议。

是否可以为两种登录(我的应用程序的登录和外部 API)扩展 has_secure_password 方法?

【问题讨论】:

标签: ruby-on-rails


【解决方案1】:

如果您需要对来自第三方网站的用户进行身份验证,并且您可以控制第三方网站,那么当今最适合使用的协议可能是oauth

现在,为了存储用户的用户名和密码,在硬协议中加密用户/密码到加密算法,如 bcrypt,就足够了,如果有人能够通过某种方式获得 bcrypt 字符串,他将能够在您的网站上进行身份验证,但不能在第三方网站上进行身份验证,因为他将无法解密使用 bcrypt 加密的用户/通行证。

【讨论】:

  • 如果我控制了第三方网站,我会将其称为第三方吗? :)
猜你喜欢
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-09
  • 2013-06-23
  • 1970-01-01
  • 1970-01-01
  • 2019-11-15
相关资源
最近更新 更多