Я пытаюсь настроить Doctrine 2 Auth для приложения Laravel 5.3. Я использую Laravel сгенерированные Auth-контроллеры, поэтому это не моя собственная реализация. Я сделал несколько небольших изменений (а именно для сохранения пользователя в базе данных с помощью Doctrine) и получил регистрацию, однако, когда я пытаюсь войти в систему, она продолжает терпеть неудачу при аутентификации.Laravel Аутентификация hasValidCredentials сбой
Я прошел через с помощью отладчика и это, кажется, последовательно неудачу на функции hasValidCredentials (находится на поставщика/Laravel/рамочный/SRC/Осветите/Auth/SessionGuard.php), как описано ниже:
/**
* Check the given plain value against a hash.
*
* @param string $value
* @param string $hashedValue
* @param array $options
* @return bool
*/
public function check($value, $hashedValue, array $options = [])
{
if (strlen($hashedValue) === 0) {
return false;
}
return password_verify($value, $hashedValue);
}
Для справки, мои значения $ стоимости и $ hashedValue следующим образом:
$ значение = "тестер";
$ hashedValue = "$ 2y $ 10 $ ZSLRE3LAVA8myaH8mu6TNeumQxHdmKRbv/zZdFQeDujZ8JolshTOu";
Скриншот из переменных, как в моей последней сессии XDebug показывает точный тип переменных:
в $ hashedValue является зашифрованная версия (с использованием Bcrypt) пароля «тестер «поэтому я знаю, что учетные данные на 100% правильны, но когда выполнение вызывает password_verify, оно всегда оценивается как false, а затем проверка hasValidCredentials завершается с ошибкой.
Я храню мой пользователь следующим образом в моей базе данных:
Так что я знаю, что хэшируется пароль достаточно долго, и хранятся в базе данных. Я вижу, что $ hashedValue возвращается в двойных кавычках, может ли это быть проблемой?
Независимо от того, что я не могу войти в систему, поскольку функция попытки класса Session Guard всегда терпит неудачу, так как hasValidCredentials всегда возвращает false, и я довольно сильно тупик, поскольку учетные данные являются точными.
Хотите знать, есть ли у кого-нибудь идеи относительно того, как это решить?
Благодаря
кажется, что следующий оценивается как истина: 'password_verify ('секретного пароля', '$ 2y $ 10 $ EnIi90KP.0BqCVJgK21BrO3xzArxCZaiAPaUebCw.K2Xw71QOCZv2');' – liamjnorman
Обрати внимание, что мой ключ приложения в base64 кодированного.Может ли это также вызвать проблемы при генерации хэша? – liamjnorman