#laravel #google-login
#laravel #google-вход
Вопрос:
Я устал от входа в систему Google, когда одна учетная запись Gmail вошла в браузер, все в порядке, но когда две или более учетных записей Gmail вошли в браузер, затем успешно вошли в систему, но перенаправили в настройках учетной записи Google (url: https: //myaccount.google.com), вот мой код контроллера. Я хочу перенаправить на заднюю страницу.
public function redirect()
{
return Socialite::driver('google')->redirect();
}
public function callback()
{
$googleUser = Socialite::driver('google')->user();
$existUser = User::where('email',$googleUser->email)->first();
if($existUser) {
Auth::loginUsingId($existUser->id);
}
else {
$user = new User;
$user->first_name = $googleUser->name;
$user->email = $googleUser->email;
$user->google_id = $googleUser->id;
$user->password = bcrypt(rand(1,10));
$user->save();
Auth::loginUsingId($user->id);
}
return back();
}
Перенаправление на эту страницу, я хочу перенаправить на обратную страницу
Ответ №1:
Это происходит из return back();
-за того, что ваш сервер перенаправляет обратно в Google через заголовок HTTP Referer. Этот заголовок ненадежен, пожалуйста, не используйте его.
Вместо этого перед входом в систему с помощью Google сохраните текущий URL-адрес в сеансе пользователя и после обратного вызова входа перенаправьте на этот URL. Таким образом, вы сможете вернуть пользователя на исходную страницу.