Cleaned social callback

This commit is contained in:
Dan Brown 2017-08-17 19:44:35 +01:00
parent db3dde98ef
commit a04b31866d
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
1 changed files with 7 additions and 9 deletions

View File

@ -8,6 +8,7 @@ use BookStack\Exceptions\UserRegistrationException;
use BookStack\Repos\UserRepo; use BookStack\Repos\UserRepo;
use BookStack\Services\EmailConfirmationService; use BookStack\Services\EmailConfirmationService;
use BookStack\Services\SocialAuthService; use BookStack\Services\SocialAuthService;
use BookStack\SocialAccount;
use BookStack\User; use BookStack\User;
use Exception; use Exception;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@ -103,7 +104,7 @@ class RegisterController extends Controller
* @param Request|\Illuminate\Http\Request $request * @param Request|\Illuminate\Http\Request $request
* @return Response * @return Response
* @throws UserRegistrationException * @throws UserRegistrationException
* @throws \Illuminate\Foundation\Validation\ValidationException * @throws \Illuminate\Validation\ValidationException
*/ */
public function postRegister(Request $request) public function postRegister(Request $request)
{ {
@ -255,16 +256,13 @@ class RegisterController extends Controller
*/ */
public function socialCallback($socialDriver) public function socialCallback($socialDriver)
{ {
if (session()->has('social-callback')) { if (!session()->has('social-callback')) {
$action = session()->pull('social-callback');
if ($action == 'login') {
return $this->socialAuthService->handleLoginCallback($socialDriver);
} elseif ($action == 'register') {
return $this->socialRegisterCallback($socialDriver);
}
} else {
throw new SocialSignInException(trans('errors.social_no_action_defined'), '/login'); throw new SocialSignInException(trans('errors.social_no_action_defined'), '/login');
} }
$action = session()->pull('social-callback');
if ($action == 'login') return $this->socialAuthService->handleLoginCallback($socialDriver);
if ($action == 'register') return $this->socialRegisterCallback($socialDriver);
return redirect()->back(); return redirect()->back();
} }