]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/Auth/RegisterController.php
Adds overflow:auto to popup content to allow it to scroll in lower res.
[bookstack] / app / Http / Controllers / Auth / RegisterController.php
index 0fa005e1fbe0b77fee9b997c186602121cdc58e9..5a7a5e971b5fcc86a0fcecd5ec4e2b4fec5820cf 100644 (file)
@@ -250,15 +250,27 @@ class RegisterController extends Controller
     /**
      * The callback for social login services.
      * @param $socialDriver
+     * @param Request $request
      * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
      * @throws SocialSignInException
+     * @throws UserRegistrationException
+     * @throws \BookStack\Exceptions\SocialDriverNotConfigured
+     * @throws ConfirmationEmailException
      */
-    public function socialCallback($socialDriver)
+    public function socialCallback($socialDriver, Request $request)
     {
         if (!session()->has('social-callback')) {
             throw new SocialSignInException(trans('errors.social_no_action_defined'), '/login');
         }
 
+        // Check request for error information
+        if ($request->has('error') && $request->has('error_description')) {
+            throw new SocialSignInException(trans('errors.social_login_bad_response', [
+                'socialAccount' => $socialDriver,
+                'error' => $request->get('error_description'),
+            ]), '/login');
+        }
+
         $action = session()->pull('social-callback');
         if ($action == 'login') return $this->socialAuthService->handleLoginCallback($socialDriver);
         if ($action == 'register') return $this->socialRegisterCallback($socialDriver);
@@ -279,7 +291,9 @@ class RegisterController extends Controller
      * Register a new user after a registration callback.
      * @param $socialDriver
      * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
+     * @throws ConfirmationEmailException
      * @throws UserRegistrationException
+     * @throws \BookStack\Exceptions\SocialDriverNotConfigured
      */
     protected function socialRegisterCallback($socialDriver)
     {