Я создал свой собственный UserProvider
, который аутентифицируется по другой базе данных. Все работает отлично; Я могу войти / выйти и т.д. c. Я возвращаюсь к сообщениям об ошибках и сталкиваюсь с загадкой.
Вот как выглядит пример моего кода:
MyUserProvider. php
...
$auth = json_decode($response, true); // response from Guzzle to 3rd party auth
if ($auth) {
if ($auth['errors']) {
return redirect('login')
->withErrors(['auth' => 'Invalid username or password']);
} else {
$myUser = $auth['data']['user']; // auth object from 3rd party.
$user = User::where('id', $myUser['id'])->first(); // find user in local db.
...
}
}
}
Часть, с которой я борюсь, это как обработать перенаправление. Я получаю ошибку:
validateCredentials () должен быть экземпляром Illuminate \ Contracts \ Auth \ Authenticatable, экземпляром Illuminate \ Http \ RedirectResponse, данным
, который Имею смысл, я возвращаю редирект, а не аутентифицируемый объект (пользователь). Но у меня нет пользователя - мое имя пользователя или пароль были неверными.
Как я могу перенаправить пользователя назад и отобразить сообщение fla sh, сообщающее ему, что произошло?
Спасибо за любые предложения!