Loading auth/oauth2/facebook_token.php +3 −3 Original line number Diff line number Diff line Loading @@ -80,7 +80,7 @@ $fbUser = $response->getGraphUser(); $typedId = $fbUser["id"]; $user = RAP\UserHandler::findUserByIdentity(RAP\Identity::FACEBOOK, $typedId); $user = $userHandler->findUserByIdentity(RAP\Identity::FACEBOOK, $typedId); if ($user === null) { $user = new RAP\User(); Loading @@ -93,8 +93,8 @@ if ($user === null) { $user->addIdentity($identity); RAP\UserHandler::saveUser($user); $userHandler->saveUser($user); } RAP\CallbackHandler::manageLoginRedirect($user); $callbackHandler->manageLoginRedirect($user, $session); ?> auth/oauth2/google_token.php +3 −3 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ if ($client->getAccessToken()) { $typedId = explode('/', $res->getResourceName())[1]; $user = RAP\UserHandler::findUserByIdentity(RAP\Identity::GOOGLE, $typedId); $user = $userHandler->findUserByIdentity(RAP\Identity::GOOGLE, $typedId); if ($user === null) { $user = new RAP\User(); Loading @@ -87,10 +87,10 @@ if ($client->getAccessToken()) { $user->addIdentity($identity); RAP\UserHandler::saveUser($user); $userHandler->saveUser($user); } RAP\CallbackHandler::manageLoginRedirect($user); $callbackHandler->manageLoginRedirect($user, $session); die(); } else { Loading auth/saml2/aai.php +4 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ if (isset($_SERVER['Shib-Session-ID'])) { $eppn = $_SERVER['eppn']; $user = RAP\UserHandler::findUserByIdentity(RAP\Identity::EDU_GAIN, $eppn); $user = $userHandler->findUserByIdentity(RAP\Identity::EDU_GAIN, $eppn); if ($user === null) { $user = new RAP\User(); Loading @@ -39,14 +39,15 @@ if (isset($_SERVER['Shib-Session-ID'])) { $identity->name = $_SERVER['givenName']; $identity->surname = $_SERVER['sn']; $identity->typedId = $eppn; $identity->eppn = $eppn; //$_SERVER['Shib-Identity-Provider'] $user->addIdentity($identity); RAP\UserHandler::saveUser($user); $userHandler->saveUser($user); } RAP\CallbackHandler::manageLoginRedirect($user); $callbackHandler->manageLoginRedirect($user, $session); } else { http_response_code(500); die("Shib-Session-ID not found!"); Loading auth/x509/certlogin.php +4 −4 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ startSession(); function saveUserFromX509Data($x509Data) { global $session; global $session, $userHandler; $user = new RAP\User(); Loading @@ -41,7 +41,7 @@ function saveUserFromX509Data($x509Data) { $user->addIdentity($identity); RAP\UserHandler::saveUser($user); $userHandler->saveUser($user); $session->x509DataToRegister = null; Loading @@ -58,7 +58,7 @@ if ($session->x509DataToRegister !== null && $session->x509DataToRegister->name $x509Data = RAP\X509Data::parse($_SERVER); $user = RAP\UserHandler::findUserByIdentity(RAP\Identity::X509, $x509Data->serialNumber); $user = $userHandler->findUserByIdentity(RAP\Identity::X509, $x509Data->serialNumber); if ($user === null) { Loading @@ -77,4 +77,4 @@ if ($session->x509DataToRegister !== null && $session->x509DataToRegister->name } } RAP\CallbackHandler::manageLoginRedirect($user); $callbackHandler->manageLoginRedirect($user, $session); classes/CallbackHandler.php +14 −8 Original line number Diff line number Diff line Loading @@ -26,6 +26,16 @@ namespace RAP; class CallbackHandler { private $dao; private $basePath; private $callbacks; public function __construct(DAO $dao, $basePath, $callbacks) { $this->dao = $dao; $this->basePath = $basePath; $this->callbacks = $callbacks; } /** * returns null if the callback URL is not listed in configuration file. */ Loading @@ -35,9 +45,7 @@ class CallbackHandler { return "Account Management"; } global $CALLBACKS; foreach ($CALLBACKS as $callback) { foreach ($this->callbacks as $callback) { if ($callback['url'] === $callbackURL) { return $callback['title']; } Loading @@ -46,21 +54,19 @@ class CallbackHandler { throw new \Exception("Unauthorized callback URL"); } public static function manageLoginRedirect($user) { global $BASE_PATH, $session, $log; public function manageLoginRedirect($user, SessionData $session) { if ($session->getCallbackURL() !== null) { // External login using token $token = Util::createNewToken(); DAO::get()->createLoginToken($token, $user->id); $this->dao->createLoginToken($token, $user->id); header('Location: ' . $session->getCallbackURL() . '?token=' . $token); } else { // Login in session $session->user = $user; $session->save(); // Return to index header('Location: ' . $BASE_PATH); header('Location: ' . $this->basePath); } } Loading Loading
auth/oauth2/facebook_token.php +3 −3 Original line number Diff line number Diff line Loading @@ -80,7 +80,7 @@ $fbUser = $response->getGraphUser(); $typedId = $fbUser["id"]; $user = RAP\UserHandler::findUserByIdentity(RAP\Identity::FACEBOOK, $typedId); $user = $userHandler->findUserByIdentity(RAP\Identity::FACEBOOK, $typedId); if ($user === null) { $user = new RAP\User(); Loading @@ -93,8 +93,8 @@ if ($user === null) { $user->addIdentity($identity); RAP\UserHandler::saveUser($user); $userHandler->saveUser($user); } RAP\CallbackHandler::manageLoginRedirect($user); $callbackHandler->manageLoginRedirect($user, $session); ?>
auth/oauth2/google_token.php +3 −3 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ if ($client->getAccessToken()) { $typedId = explode('/', $res->getResourceName())[1]; $user = RAP\UserHandler::findUserByIdentity(RAP\Identity::GOOGLE, $typedId); $user = $userHandler->findUserByIdentity(RAP\Identity::GOOGLE, $typedId); if ($user === null) { $user = new RAP\User(); Loading @@ -87,10 +87,10 @@ if ($client->getAccessToken()) { $user->addIdentity($identity); RAP\UserHandler::saveUser($user); $userHandler->saveUser($user); } RAP\CallbackHandler::manageLoginRedirect($user); $callbackHandler->manageLoginRedirect($user, $session); die(); } else { Loading
auth/saml2/aai.php +4 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ if (isset($_SERVER['Shib-Session-ID'])) { $eppn = $_SERVER['eppn']; $user = RAP\UserHandler::findUserByIdentity(RAP\Identity::EDU_GAIN, $eppn); $user = $userHandler->findUserByIdentity(RAP\Identity::EDU_GAIN, $eppn); if ($user === null) { $user = new RAP\User(); Loading @@ -39,14 +39,15 @@ if (isset($_SERVER['Shib-Session-ID'])) { $identity->name = $_SERVER['givenName']; $identity->surname = $_SERVER['sn']; $identity->typedId = $eppn; $identity->eppn = $eppn; //$_SERVER['Shib-Identity-Provider'] $user->addIdentity($identity); RAP\UserHandler::saveUser($user); $userHandler->saveUser($user); } RAP\CallbackHandler::manageLoginRedirect($user); $callbackHandler->manageLoginRedirect($user, $session); } else { http_response_code(500); die("Shib-Session-ID not found!"); Loading
auth/x509/certlogin.php +4 −4 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ startSession(); function saveUserFromX509Data($x509Data) { global $session; global $session, $userHandler; $user = new RAP\User(); Loading @@ -41,7 +41,7 @@ function saveUserFromX509Data($x509Data) { $user->addIdentity($identity); RAP\UserHandler::saveUser($user); $userHandler->saveUser($user); $session->x509DataToRegister = null; Loading @@ -58,7 +58,7 @@ if ($session->x509DataToRegister !== null && $session->x509DataToRegister->name $x509Data = RAP\X509Data::parse($_SERVER); $user = RAP\UserHandler::findUserByIdentity(RAP\Identity::X509, $x509Data->serialNumber); $user = $userHandler->findUserByIdentity(RAP\Identity::X509, $x509Data->serialNumber); if ($user === null) { Loading @@ -77,4 +77,4 @@ if ($session->x509DataToRegister !== null && $session->x509DataToRegister->name } } RAP\CallbackHandler::manageLoginRedirect($user); $callbackHandler->manageLoginRedirect($user, $session);
classes/CallbackHandler.php +14 −8 Original line number Diff line number Diff line Loading @@ -26,6 +26,16 @@ namespace RAP; class CallbackHandler { private $dao; private $basePath; private $callbacks; public function __construct(DAO $dao, $basePath, $callbacks) { $this->dao = $dao; $this->basePath = $basePath; $this->callbacks = $callbacks; } /** * returns null if the callback URL is not listed in configuration file. */ Loading @@ -35,9 +45,7 @@ class CallbackHandler { return "Account Management"; } global $CALLBACKS; foreach ($CALLBACKS as $callback) { foreach ($this->callbacks as $callback) { if ($callback['url'] === $callbackURL) { return $callback['title']; } Loading @@ -46,21 +54,19 @@ class CallbackHandler { throw new \Exception("Unauthorized callback URL"); } public static function manageLoginRedirect($user) { global $BASE_PATH, $session, $log; public function manageLoginRedirect($user, SessionData $session) { if ($session->getCallbackURL() !== null) { // External login using token $token = Util::createNewToken(); DAO::get()->createLoginToken($token, $user->id); $this->dao->createLoginToken($token, $user->id); header('Location: ' . $session->getCallbackURL() . '?token=' . $token); } else { // Login in session $session->user = $user; $session->save(); // Return to index header('Location: ' . $BASE_PATH); header('Location: ' . $this->basePath); } } Loading