Re =使用巫术宝石验证用户身份

时间:2013-11-25 20:10:24

标签: ruby-on-rails-4 sorcery

我正在使用魔法宝石并尝试重新验证用户在“我的帐户”部分中更改密码。所以基本上在表单上有old_password,password和password_confirmation。基本上,用户已经登录,但我想进行额外的身份验证检查以重置用户的密码,以获得更高级别的安全性。

我的问题是:我如何通过法术实现这一目标?我正在浏览他们的源代码并且在我认为是用户对象时遇到了'authenticate'方法,但是我如何调用它(注意我对rails来说相对较新并且仍然使用ruby语法)

这就是我所拥有的:

if (@password_reset.valid? && current_user.authenticate(@password_reset.email, @password_reset.old_password))

用户模型的相关部分

class User < ActiveRecord::Base
  authenticates_with_sorcery!
...

1 个答案:

答案 0 :(得分:1)

Geez,我很惊讶没有人回答这个问题,结果很简单。事实证明,我所要做的就是调用类方法而不是使用实例,如下所示。

User.authenticate(@password_reset.email, @password_reset.old_password, false)