Commit 43d0bcc9 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Facebook login updates

parent 355838b4
Loading
Loading
Loading
Loading
+7 −27
Original line number Diff line number Diff line
@@ -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());
        }
        $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;
        }

        $_SESSION['fb_access_token'] = (string) $accessToken;

+1 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ authenticationMethods:
  Facebook:
    id: "XXXXXX"
    secret: "XXXXXX"
    version: "v3.0"
    version: "v8.0"
    callback: "/auth/social/facebook/token"
  LinkedIn:
    id: "XXXXXX"