我正在使用魔法宝石并尝试重新验证用户以在“我的帐户”部分更改他们的密码。所以基本上表格上有 old_password、password 和 password_confirmation。所以基本上,用户已经登录,但我想进行额外的身份验证检查以重置用户的密码,以获得额外的安全级别。
我的问题是:我如何通过巫术实现这一目标?我正在浏览他们的源代码,并在我认为是用户对象上遇到了“身份验证”方法,但我该如何称呼它(注意,我对 rails 相对较新,并且仍然接受 ruby 语法)
这就是我所拥有的:
if (@password_reset.valid? && current_user.authenticate(@password_reset.email, @password_reset.old_password))
以及用户模型的相关部分
class User < ActiveRecord::Base
authenticates_with_sorcery!
...