разработать токен auth найти пользователя с токеном сброса пароля - PullRequest
0 голосов
/ 17 марта 2019

Я использую авторизацию devise token и настраиваю процесс сброса пароля.Когда я нажимаю ссылку сброса в сообщении электронной почты, у него появляется параметр 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" 

. Эти токены не совпадают, но должны.Это как-то закодировано, и если да, то как мне найти пользователя с токеном?

1 Ответ

1 голос
/ 17 марта 2019

Что хранится в базе данных, это Digest::SHA256.

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

Очевидно, что невозможно вернуть его обратно в токен, можно только hexdigest полученный токенот пользователя и сравните его с тем, что хранится в базе данных.

...