require_once 'Google/Client.php'; require_once 'Google/Service/Oauth2.php'; 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}");