簡體   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