use BookStack\Repos\UserRepo;
use BookStack\Services\EmailConfirmationService;
use BookStack\Services\SocialAuthService;
+use BookStack\SocialAccount;
use BookStack\User;
use Exception;
use Illuminate\Http\Request;
*/
public function __construct(SocialAuthService $socialAuthService, EmailConfirmationService $emailConfirmationService, UserRepo $userRepo)
{
- $this->middleware('guest')->except(['socialCallback', 'detachSocialAccount']);
+ $this->middleware('guest')->only(['getRegister', 'postRegister', 'socialRegister']);
$this->socialAuthService = $socialAuthService;
$this->emailConfirmationService = $emailConfirmationService;
$this->userRepo = $userRepo;
* @param Request|\Illuminate\Http\Request $request
* @return Response
* @throws UserRegistrationException
- * @throws \Illuminate\Foundation\Validation\ValidationException
+ * @throws \Illuminate\Validation\ValidationException
*/
public function postRegister(Request $request)
{
return redirect('/register/confirm');
}
- $this->emailConfirmationService->sendConfirmation($user);
session()->flash('success', trans('auth.email_confirm_resent'));
return redirect('/register/confirm');
}
*/
public function socialCallback($socialDriver)
{
- 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 {
+ if (!session()->has('social-callback')) {
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();
}