Реализация контроллера:
Перенаправление из реестра:
Код: Выделить всё
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();
}
Код: Выделить всё
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.
- User_type устанавливается в сеансе перед перенаправлением, но кажется, что он отсутствует при обработке обратного вызова. Это говорит о том, что либо данные сеанса не сохраняются при перенаправлении OAuth, либо возникла проблема с обработкой сеанса.
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/787 ... ntegration
Мобильная версия