Как реализовать мультиязычную авторизацию с помощью пакета Socialite на Laravel 8

На сайте меняется локализация через middleware:

public function handle($request, Closure $next)
    {
        app()->setLocale($request->segment(1));
        return $next($request);
    }   

То есть по ссылке: http://domain.com/en/home уже отображается view с англ. переводом. Так же подключён пакет Socialite для авторизации пользователей. Контроллер SocialController имеет два метода:

class SocialController extends Controller
{

    public function redirectToSocialProvider($provider)
    {
        return Socialite::driver($provider)->redirect();
    }

    public function loginWithSocial($provider)
    {
  
        try {

            $user = Socialite::driver($provider)->user();
            $isUser = User::where('email', $user->email)->first();

                if($isUser){
                    Auth::login($isUser);
                    return redirect('/');
                }else{
                    $createUser = User::create([
                        'name'                      => $user->name,
                        'email'                     => $user->email,
                        'image'                     => $user->avatar,
                        'provider_id_'.$provider    => $user->id,
                        'password'                  => encrypt('admin@123'),
                        'role'                      => 'user'
                    ]);

                    Auth::login($createUser);
                    return redirect('/');
                }

            } catch (Exception $exception) {
                dd($exception->getMessage());
            }
    }   
}

Подскажите как после авторизации пользователя с помощью пакета Socialite, в функцию loginWithSocial, где происходит авторизация/регистрация пользователя, передать значение локализации, с которой была авторизация? То есть, пользователь, который авторизуется по ссылке http://domain.com/en/login после авторизации попадает на главную (русскоязычную) страницу сайта, а не на англоязычную.

P.S. Метод описанный по ссылке https://stackoverflow.com/questions/59360934/laravel-socialitegoogle-login-redirect-to-multiple-views и этой https://laracasts.com/discuss/channels/laravel/socialite-provider-login-page-language не работает!


Ответы (0 шт):