【问题标题】:How to validate password using Authlogic?如何使用 Authlogic 验证密码?
【发布时间】: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 上的几个小时令人沮丧,因为我们无法找到对我们当前技能组有用的信息。

【问题讨论】:

    标签: ruby-on-rails authlogic


    【解决方案1】:

    经过几次尝试,我自己发现了......

    user.valid_password?("HelloStackOverflow")
    

    相关XKCD:https://xkcd.com/979/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 2011-01-11
      • 2015-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多