При входе в Google перенаправление на https://myaccount.google.com / при одновременном входе в систему нескольких учетных записей Google в браузере — Laravel

#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. Таким образом, вы сможете вернуть пользователя на исходную страницу.