From c10ea14483eb6ed27cbc11338089652b467b7662 Mon Sep 17 00:00:00 2001 From: cristiano <cristiano.urban@inaf.it> Date: Mon, 19 Aug 2024 10:17:09 +0200 Subject: [PATCH] Removed support to Facebook. Signed-off-by: cristiano <cristiano.urban@inaf.it> --- classes/login/FacebookLogin.php | 83 -------------------------------- img/facebook-200.png | Bin 64336 -> 0 bytes img/facebook-60.png | Bin 14598 -> 0 bytes 3 files changed, 83 deletions(-) delete mode 100644 classes/login/FacebookLogin.php delete mode 100644 img/facebook-200.png delete mode 100755 img/facebook-60.png diff --git a/classes/login/FacebookLogin.php b/classes/login/FacebookLogin.php deleted file mode 100644 index 9bb3795..0000000 --- a/classes/login/FacebookLogin.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php - -/* - * This file is part of rap - * Copyright (C) 2021 Istituto Nazionale di Astrofisica - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -namespace RAP; - -class FacebookLogin extends LoginHandler { - - public function __construct(Locator $locator) { - parent::__construct($locator); - } - - public function login(): string { - - // Retrieve Facebook configuration - $Facebook = $this->locator->config->authenticationMethods->Facebook; - - $fb = new \Facebook\Facebook([ - 'app_id' => $Facebook->id, - 'app_secret' => $Facebook->secret, - 'default_graph_version' => $Facebook->version, - ]); - - $helper = $fb->getRedirectLoginHelper(); - - $permissions = ['email']; // Optional permissions: we need user email - - $loginUrl = $helper->getLoginUrl($this->locator->getBasePath() . $Facebook->callback, $permissions); - - return $loginUrl; - } - - public function retrieveToken(): string { - // Retrieve Facebook configuration - $Facebook = $this->locator->config->authenticationMethods->Facebook; - - $fb = new \Facebook\Facebook([ - 'app_id' => $Facebook->id, - 'app_secret' => $Facebook->secret, - 'default_graph_version' => $Facebook->version, - ]); - - $helper = $fb->getRedirectLoginHelper(); - if (isset($_GET['state'])) { - $helper->getPersistentDataHandler()->set('state', $_GET['state']); - } - - // 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 { - throw new BadRequestException("Unable to obtain access token"); - } - } - - // Returns a `Facebook\FacebookResponse` object - $response = $fb->get('/me?fields=id,first_name,last_name,email', $accessToken); - - $_SESSION['fb_access_token'] = (string) $accessToken; - - $fbUser = $response->getGraphUser(); - - $identity = new Identity(Identity::FACEBOOK); - $identity->typedId = $fbUser["id"]; - $identity->email = $fbUser["email"]; - $identity->name = $fbUser["first_name"]; - $identity->surname = $fbUser["last_name"]; - - return $this->onIdentityDataReceived($identity); - } - -} diff --git a/img/facebook-200.png b/img/facebook-200.png deleted file mode 100644 index 40cd13cbb5d5f55651286666a47e80ee604b0b56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64336 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ǩ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 diff --git a/img/facebook-60.png b/img/facebook-60.png deleted file mode 100755 index a1badec4e1c2c5186f25c51590890bfa96cb183b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14598 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 VObE0spQQ|PsHdx+%Q~loCIBBFve^It -- GitLab