Laravel Socialite Google OAuth с Sanctum: сеанс создан, но user_id имеет значение null после входа в системуPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Laravel Socialite Google OAuth с Sanctum: сеанс создан, но user_id имеет значение null после входа в систему

Сообщение Anonymous »

Я создаю SPA только для API с Laravel Sanctum и Nuxt3, используя аутентификацию сеанса на основе файлов cookie. Я реализовал Google OAuth с помощью Laravel Socialite.
Вот моя текущая настройка потока Google OAuth:

Код: Выделить всё

public function googleCallback()
{
$googleUser = Socialite::driver('google')->stateless()->user();

$user = $this->authRepository->show($googleUser->email);

if (!$user) {
$request = (object)[
'email' => $googleUser->getEmail(),
'password' => Str::random(40)
];

$user = $this->authService->register($request);
}

session()->regenerate();

Auth::login($user);

return redirect('http://localhost:3000/auth/callback?authStatus=' . true . '&email=' . urlencode($user->email));
}

public function googleRedirect()
{
$redirectUrl = Socialite::driver('google')->redirect()->getTargetUrl();
return response()->json(['redirect_url' => $redirectUrl]);
}
api.php:

Код: Выделить всё

 Route::group(['prefix' => 'v2/auth'], function () {
Route::get('google/callback', [SocialiteController::class, 'googleCallback']);
Route::get('google/redirect', [SocialiteController::class, 'googleRedirect']);
});
Похоже, что этот процесс работает: я могу получить данные профиля пользователя Google и теоретически войти в систему. Однако при проверке таблицы сеансов я замечаю, что сеанс создан, но поле user_id имеет значение null. В результате мое промежуточное программное обеспечение внешнего интерфейса немедленно помечает пользователя как неавторизованного при вызове /api/user. Что может быть причиной того, что user_id имеет значение null в сеансе и как я могу гарантировать, что пользователь правильно аутентифицирован для последующих запросов API?
Будем признательны за любую информацию о том, как решить эту проблему!< /п>

Подробнее здесь: https://stackoverflow.com/questions/790 ... id-is-null
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»