Для работы с приложениями через api установил Laravel passport
/config/auth.php:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],
Сделал получение токена по паролю и email, прикрепил стандартный трейт для того чтобы после авторизации в web - можно было работать с апи запросами.
Появилась проблема: есть App\Http\Controllers\Api\v1RegistrationController,
У него гуард - passport.
В нем код:
$user = User::create([
'name' => $request->has('name') ? $request->name : '',
'first_name' => $request->has('first_name') ?? $request->first_name,
'last_name' => $request->has('last_name') ?? $request->first_name,
'email' => $request->email,
'password' => bcrypt($request->password),
]);
Auth::login($user);
Необходимо, чтобы после того как пользователь создался из под api - он авторизовался в web, так как с api еще работает web приложение, но этого не происходит - Auth::guest() показывает false, но после перезагрузки страницы - авторизация пропадает.
Необходимо для того чтобы пользователь из браузера зарегистрировавшись по api мог после редиректа на главную быть авторизованным.
Как такое реализовать?
Пробовал:
Auth::guard('web')->login($user);
Но после перезагрузки страницы авторизация пропадает, хотя если пробовать так сделать из под web контроллеров - все работает