BookStack\Services\SocialAuthService::handleRegistrationCallback PHP Method

handleRegistrationCallback() public method

Handle the social registration process on callback.
public handleRegistrationCallback ( $socialDriver ) : Laravel\Socialite\Contracts\User
$socialDriver
return Laravel\Socialite\Contracts\User
    public function handleRegistrationCallback($socialDriver)
    {
        $driver = $this->validateDriver($socialDriver);
        // Get user details from social driver
        $socialUser = $this->socialite->driver($driver)->user();
        // Check social account has not already been used
        if ($this->socialAccount->where('driver_id', '=', $socialUser->getId())->exists()) {
            throw new UserRegistrationException('This ' . $socialDriver . ' account is already in use, Try logging in via the ' . $socialDriver . ' option.', '/login');
        }
        if ($this->userRepo->getByEmail($socialUser->getEmail())) {
            $email = $socialUser->getEmail();
            throw new UserRegistrationException('The email ' . $email . ' is already in use. If you already have an account you can connect your ' . $socialDriver . ' account from your profile settings.', '/login');
        }
        return $socialUser;
    }