如何在Rails中的数据库中安全地存储外部API的密码?

时间:2012-12-05 23:20:13

标签: ruby-on-rails

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

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

1 个答案:

答案 0 :(得分:0)

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

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