Метод аутентификации Brcrypt не работает с уже установленным значением brcypt - PullRequest
0 голосов
/ 28 мая 2018

У меня есть модель пользователя с шифрованием с использованием brcypt gem.

Однако, когда я использую следующий код, он возвращает false в качестве результата.

User.find(117).try(:authenticate ,User.find(117).password_digest)

Но нижеупомянутая команда работаетштраф:

User.find(117).try(:authenticate ,"password")

Возвращает истину.

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

Любая помощьбыл бы оценен !!

1 Ответ

0 голосов
/ 28 мая 2018

В первой строке вы передаете переваренный пароль, который (в зависимости от используемой вами реализации или гема) должен быть односторонней зашифрованной строкой из исходного пароля.У вас нет возможности проверить этот дайджест без оригинального пароля.

Хотя try - отличная вещь, она скрывает все полезные ошибки, которые вы можете получить.Ваш код был бы лучше, если бы вы разделили поиск пользователя и аутентификацию пароля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...