Проблема с сохранением данных сеанса при интеграции входа в систему Google OAuthPhp

Кемеровские программисты php общаются здесь
Anonymous
Проблема с сохранением данных сеанса при интеграции входа в систему Google OAuth

Сообщение Anonymous »

У меня возникли проблемы с обработкой типов пользователей при входе в Google в моем приложении Laravel. Вот что я реализовал и с чем столкнулся:
Реализация контроллера:
Перенаправление из регистрации:

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

public function redirectToGoogleFromRegister(Request $request)
{
$request->session()->put('user_type', $request->role);
return Socialite::driver('google')->redirect();
}
Перенаправление с входа в систему:

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

public function redirectToGoogleFromLogin()
{
if (Auth::check()) {
return redirect(RouteServiceProvider::HOME);
}
return Socialite::driver('google')->redirect();
}
Обработка обратного вызова Google:

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

public function handleGoogleCallback(Request $request)
{
try {
$googleUser = Socialite::driver('google')->user();
} catch (\Exception $e) {
$googleUser = Socialite::driver('google')->stateless()->user();
}

$userType = $request->session()->get('user_type');
dd($userType);
}
Описание проблемы:
  • Когда пользователь инициирует вход в Google с помощью маршрута регистрации, Я сохраняю user_type в сеансе как «register».
  • Однако в обработчике обратного вызова user_type, полученный из сеанса, всегда имеет значение null.
Диагноз:
  • Тип_пользователя установлен в сеансе перед перенаправлением, но он отсутствует при обработке обратного вызова. Это говорит о том, что либо данные сеанса не сохраняются при перенаправлении OAuth, либо возникла проблема с обработкой сеанса.
Почему данные сеанса (

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

user_type
) неправильно извлекается в методе обратного вызова?

Подробнее здесь: https://stackoverflow.com/questions/787 ... ntegration

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