示例#1
0
 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;
示例#2
0
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;
        }
示例#3
0
}
// 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']);
            }