$validation = Validator::make($data, $rules); if ($validation->fails()) { throw new ValidationException($validation); } try { $user = Auth::authenticate([ 'login' => array_get($data, 'login'), 'password' => array_get($data, 'password') ], true); } catch (Exception $ex) { if (preg_match('/user was not found with the given cred/i',$ex->getMessage())) { $flash_message = 'A registered user was not found with that email'; } elseif (preg_match('/hashed credential "password" did not match/i',$ex->getMessage())) { $flash_message = 'The password supplied for that user is incorrect'; } } if ($flash_message) { return ['msgs' => [ 'danger' => $flash_message ], 'options' => [], 'settings' => [] ]; }
This will replace the error message " user was found to match all plain text credentials however hashed credential "password" did not match." that comes by default with Laravel.
Source:
https://gist.github.com/kdallas/17e07f9b50b066a13bdd#file-account-php-L138