require 'config/app.php'; require 'config/login.php'; $facebook = new Facebook(APP_ID, APP_SECRET, REDIRECT_URI); if ($facebook->IsAuthenticated()) { /* Verify that all of the required scopes have been granted */ if (!$facebook->verifyScopes(unserialize(SCOPES))) { //var_dump($facebook); exit; header("Location: " . $facebook->getLoginURL($facebook->denied_scopes, REREQUEST)); exit; } // All scopes have been granted // Login/Registration can be proceeded $fb_user = $facebook->getUserProfile(); // Check if the facebook user is already registered $loginHelper = new LoginHelper($db); $user_id = $loginHelper->IsRegistered(OAUTH_FACEBOOK, $fb_user['id']); if ($user_id) { // Facebook user is already registered - Login the user $redirect_uri = $loginHelper->Login($user_id, OAUTH_FACEBOOK, $fb_user['id']); header("Location: {$redirect_uri}"); exit; } else { // User is not registered - Register the user // Check if the email is already registered if (isset($fb_user['email'])) { $registeredUser = $loginHelper->IsEmailRegistered($fb_user['email']); if ($registeredUser) { // Email is already registered $redirect_uri = $loginHelper->Login($registeredUser['id'], $registeredUser['oauth_type'], $registeredUser['oauth_id']); header("Location: {$redirect_uri}"); exit;
require 'Google/Google.php'; $google = new Google(APP_NAME, CLIENT_ID, CLIENT_SECRET, unserialize(SCOPES), REDIRECT_URI); if (isset($_GET['code'])) { // Exchange the code for access token $google->authenticate($_GET['code']); $_SESSION['access_token'] = $google->getAccessToken(); $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL)); exit; } if ($google->IsAuthenticated()) { // Google User is authenticated and authorized // Login/Registration can be proceeded $gUser = $google->getUserProfile(); $loginHelper = new LoginHelper($db); $user_id = $loginHelper->IsRegistered(OAUTH_GOOGLE, $gUser['id']); if ($user_id) { // User is already registered - Log in the user $redicrect_uri = $loginHelper->Login($user_id, OAUTH_GOOGLE, $gUser['id']); header("Location: {$redirect_uri}"); exit; } else { // User is not registerd // Email may be registered already $rUser = $loginHelper->IsEmailRegistered($gUser['email']); if ($rUser) { // Email is already registered - Login the user $redirect_uri = $loginHelper->Login($rUser['id'], $rUser['oauth_type'], $rUser['oauth_id']); header("Location: {$redirect_uri}"); exit; }
} // If user doesn't grant the access, redirect to the login page if (isset($_GET['denied'])) { header("Location: " . SITE_URL . "login/?access_denied"); exit; } require 'config/consumer.php'; require 'config/login.php'; require 'Twitter/Twitter.php'; $twitter = new Twitter(CONSUMER_KEY, CONSUMER_SECRET, REDIRECT_URI); if ($twitter->IsAuthenticated()) { // Twitter user is authenticated and authorized // Login/Registration can be proceeded $twitter_user = $twitter->getUserProfile(); $loginHelper = new LoginHelper($db); $user_id = $loginHelper->IsRegistered(OAUTH_TWITTER, $twitter_user->id); if ($user_id) { // User is registered // TWITTER user needs to have their email verfieid if ($loginHelper->IsVerified($user_id)) { $redirect_uri = $loginHelper->Login($user_id, OAUTH_TWITTER, $twitter_user->id); header("Location: {$redirect_uri}"); } else { $not_verified = true; /* Keeping `access token` alive generates login URL with invalid Oauth token if user goes to `oauth\twitter\index.php` */ // TBD: clearTwitterCredentials if (isset($_SESSION['access_token'])) { unset($_SESSION['access_token']); }