Laravel 5: пароль для входа не совпадает с сохраненным - PullRequest
0 голосов
/ 07 декабря 2018

Когда я регистрирую пользователя, используя встроенный в Laravels контроллер Auth \ RegisterController.php, все отлично работает, и я сразу вхожу в систему. Проблема в том, когда я выхожу из системы и пытаюсь войти через Auth \ LoginController.php, Это показываетчто пароль неверный.Код выглядит следующим образом:

  • RegisterController.php

    $user = $this->create([
        'name' => $request['name'],
        'email' => $request['email'],
        'password' => Hash::make($request['password']),
    ]);
    
  • LoginController.php

    if(!Auth::attempt(request(['email', 'password']))) {
        return back()->withErrors([
            'message' => 'Wrong Emial or Password!'
        ]);
    }
    

Я проверил базу данных и все вроде нормально.

Что также странно в этой проблеме, так это когда я хэширую пароль (используя Hash::make('password')) с php artisan tinker, а затем заменяю его в базе данных для того же пользователя, все работает ...

1 Ответ

0 голосов
/ 07 декабря 2018

Не следует отправлять хешированный пароль в функцию create(), функция позаботится об этом.Причина, по которой вы не можете войти, состоит в том, что вы дважды хэшировали пароль.

$user = $this->create([
    'name' => $request['name'],
    'email' => $request['email'],
    'password' => $request['password'],
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...