【发布时间】:2017-06-05 00:17:43
【问题描述】:
因此,基本上,我们需要 - 基于用户在 AJAX POST 中发送的用户/密码,针对数据库对其进行验证。
例如,对于用户“John”,密码“HelloStackOverflow1234”:
crypted_password: 400$8$4c$e7d64e4751fbde73$e60fea062a3cb3ae78bc8e916a8da78ee8816b8519f4bcad95315a4c60229ac1
password_salt: EW3AY1Btb3KEZb6Z1mBu
我如何在 RoR4+AuthLogic 中验证密码是否正确?
我现在正在尝试的是:
user.crypted_password == BCrypt::Password.create(user.password_salt + "HelloStackOverflow", cost: 8)
应该返回 true,但不是。
背景
我们有一个用 Rails 4 编写的遗留(虽然以前的开发人员写得很好)后端,最近决定构建一个使用新 REST API 的单页应用程序。现在我们专注于前端,新的 /api/v2 调用将编写在 Rails 中的当前代码库上。我们不打算很快重写后端。
我们正在努力验证一个简单的 PAP(密码身份验证协议)POST,它使用用户/密码针对旧版 Authlogic 生成的哈希值进行验证,这应该会在相当长的一段时间内投入生产。
事实证明,在 Google/Stack Overflow 上的几个小时令人沮丧,因为我们无法找到对我们当前技能组有用的信息。
【问题讨论】: