Я отлаживаю проблему в своем приложении Rails 6 с помощью Devise 4.7.1. Я не могу войти в систему с адресом электронной почты / паролем. (Я могу сбросить пароль и войти в систему таким образом или использовать вход в Facebook.)
Кажется, что пароль правильно добавляется в столбец users.encrypted_password
. Он зашифрован, поэтому я не могу сказать наверняка, но столбец не пуст, когда я смотрю на него с помощью клиента mysql.
Я заметил, что когда я запускаю rails c
для отладки, вот что Я получаю:
2.5.8 :048 > User.last.password
User Load (2.5ms) SELECT `users`.* FROM `users` ORDER BY `users`.`id` DESC LIMIT 1
=> nil
User.password
должно быть nil
, или это ожидаемое поведение? Я пытаюсь понять, является ли это источником моей проблемы или это отвлекающий маневр.
Если есть способ отладить это в консоли rails, я могу быть уверен, что значение установлено правильно, это было бы полезно. например, User.last.password == some_hash_method('password')
.
User.encrypted_password
возвращает значение:
2.5.8 :049 > User.last.encrypted_password
User Load (3.5ms) SELECT `users`.* FROM `users` ORDER BY `users`.`id` DESC LIMIT 1
=> "$2a$11$pMGOZ/a5YG3Z/QHQ3WZBRO0HpqOGpCRuWyxb6X___SNIPPED___"