繁体   English   中英

设计通过reset_password_token获取用户

[英]Devise get user by reset_password_token

我正在尝试创建密码规则来设计可恢复的密码更改。 我通过passwords_controller.rb做了一个超类,但我需要在规则之前检查用户角色,但我所拥有的只有reset_password_token。

假设您的模型是用户:

User.with_reset_password_token(your_token_here)

资源

较旧版本的devise不包含此方法:with_reset_password_token(your_token_here)

因此,您可以在模型中创建此方法:

def self.with_password_reset_token(password_reset_token)
    generated_password_reset_token = Devise.token_generator.digest(self, :reset_password_token, password_reset_token)
    return self.find_by(reset_password_token: generated_password_reset_token)
  end

然后你可以从你的模型中调用这个方法,如下所示:

user = User.with_password_reset_token(your_token_here)

我们在示例中使用用户模型。

要回答你问题的标题,那就简单了

User.find_by_reset_password_token(reset_password_token_here)

但除此之外你的问题有点不清楚。

聚会在这里很晚,但User.find_by(reset_password_token: <token>)也可以。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM