Added function for redirect with parameters for Socialite

This commit is contained in:
Justin Stein 2018-11-04 10:40:06 -08:00
parent 216358c6e4
commit 0283ab11b5

View File

@ -40,10 +40,7 @@ class SocialAuthService
public function startLogIn($socialDriver)
{
$driver = $this->validateDriver($socialDriver);
if ($socialDriver == 'google' && env('GOOGLE_SELECT_ACCOUNT')) {
return $this->socialite->driver($driver)->with(['prompt' => 'select_account'])->redirect();
}
return $this->socialite->driver($driver)->redirect();
return $this->redirectToSocialProvider($driver);
}
/**
@ -55,10 +52,7 @@ class SocialAuthService
public function startRegister($socialDriver)
{
$driver = $this->validateDriver($socialDriver);
if ($socialDriver == 'google' && env('GOOGLE_SELECT_ACCOUNT')) {
return $this->socialite->driver($driver)->with(['prompt' => 'select_account'])->redirect();
}
return $this->socialite->driver($driver)->redirect();
return $this->redirectToSocialProvider($driver);
}
/**
@ -253,4 +247,19 @@ class SocialAuthService
session()->flash('success', trans('settings.users_social_disconnected', ['socialAccount' => title_case($socialDriver)]));
return redirect(user()->getEditUrl());
}
/**
* Provide redirect options per service for the Laravel Socialite driver
* @param $driver
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
public function redirectToSocialProvider($driver)
{
if ($driver == 'google' && config('services.google.select_account'))
{
return $this->socialite->driver($driver)->with(['prompt' => 'select_account'])->redirect();
}
return $this->socialite->driver($driver)->redirect();
}
}