diff --git a/classes/login/FacebookLogin.php b/classes/login/FacebookLogin.php
index 8e5dc8438f3d7bda5c476306342fc9cdf932102f..3d43507857d45e407a912cf109277d6dd0df5a55 100644
--- a/classes/login/FacebookLogin.php
+++ b/classes/login/FacebookLogin.php
@@ -43,43 +43,23 @@ class FacebookLogin extends LoginHandler {
             $helper->getPersistentDataHandler()->set('state', $_GET['state']);
         }
 
-        try {
-            // obtaining current URL without query string
-            $url = "https://$_SERVER[HTTP_HOST]" . strtok($_SERVER["REQUEST_URI"], '?');
-            $accessToken = $helper->getAccessToken($url);
-        } catch (Facebook\Exceptions\FacebookResponseException $e) {
-            // When Graph returns an error
-            http_response_code(500);
-            die('Graph returned an error: ' . $e->getMessage());
-        } catch (Facebook\Exceptions\FacebookSDKException $e) {
-            // When validation fails or other local issues
-            http_response_code(500);
-            die('Facebook SDK returned an error: ' . $e->getMessage());
-        }
+        // obtaining current URL without query string
+        $accessToken = $helper->getAccessToken($this->locator->getBasePath() . $Facebook->callback);
+
         if (!isset($accessToken)) {
             if ($helper->getError()) {
                 $errorMessage = "Error: " . $helper->getError() . "<br>";
                 $errorMessage = $errorMessage . "Error Code: " . $helper->getErrorCode() . "<br>";
                 $errorMessage = $errorMessage . "Error Reason: " . $helper->getErrorReason() . "<br>";
                 $errorMessage = $errorMessage . "Error Description: " . $helper->getErrorDescription();
+                throw new ServerErrorException($errorMessage);
             } else {
-                $errorMessage = "Bad request";
+                throw new BadRequestException("Unable to obtain access token");
             }
-
-            http_response_code(500);
-            die($errorMessage);
         }
 
-        try {
-            // Returns a `Facebook\FacebookResponse` object
-            $response = $fb->get('/me?fields=id,first_name,last_name,email', $accessToken);
-        } catch (Facebook\Exceptions\FacebookResponseException $e) {
-            echo 'Graph returned an error: ' . $e->getMessage();
-            exit;
-        } catch (Facebook\Exceptions\FacebookSDKException $e) {
-            echo 'Facebook SDK returned an error: ' . $e->getMessage();
-            exit;
-        }
+        // Returns a `Facebook\FacebookResponse` object
+        $response = $fb->get('/me?fields=id,first_name,last_name,email', $accessToken);
 
         $_SESSION['fb_access_token'] = (string) $accessToken;
 
diff --git a/config-example.yaml b/config-example.yaml
index cf625bb8b14cb57781f7fda6d1fe0f14f7877469..87b2554cbe5eed89f78b71f9ee34acbad4e3bac6 100644
--- a/config-example.yaml
+++ b/config-example.yaml
@@ -23,7 +23,7 @@ authenticationMethods:
   Facebook:
     id: "XXXXXX"
     secret: "XXXXXX"
-    version: "v3.0"
+    version: "v8.0"
     callback: "/auth/social/facebook/token"
   LinkedIn:
     id: "XXXXXX"