簡體   English   中英

設計令牌身份驗證使用密碼重置令牌查找用戶

[英]devise token auth find user with password reset token

我正在使用devise令牌身份驗證,並且正在設置密碼重置過程。 當我單擊電子郵件中的重置鏈接時,它具有url參數reset_password_token=hK3yxC1zVZCbWL8WgqKM但是在Rails控制台中時,

2.5.1 :004 > User.first.reset_password_token
  User Load (0.6ms)  SELECT  "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT $1  [["LIMIT", 1]]
 => "ab432079e4e8aacfa0ecb5df17a7cea169990b0e0809ea9553248064220471a7" 

這些令牌不匹配,但它們應該匹配。 是否以某種方式編碼,如果可以,我如何找到具有令牌的用戶?

存儲在數據庫中的是Digest::SHA256

token = "hK3yxC1zVZCbWL8WgqKM"
Digest::SHA256.hexdigest token
#⇒ "ae74625ac2357c8f2de0f3f52647aaee191dbba5d383f8ec5822cfec5c24384e"

一個人顯然不能將其還原為令牌,只能hexdigest來自用戶的令牌並將其與數據庫中存儲的令牌進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM