我正在使用魔法宝石并尝试重新验证用户在“我的帐户”部分中更改密码。所以基本上在表单上有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!
...
答案 0 :(得分:1)
User.authenticate(@password_reset.email, @password_reset.old_password, false)