pdo_free_result($result); $firstname = $resp->name->givenName; $lastname = $resp->name->familyName; header("Location: register.php?firstname=$firstname&lastname=$lastname&email=$email"); return false; } $user_array = pdo_fetch_array($result); $pass = $user_array["password"]; $sessionArray = array( "login" => $email, "passwd" => $user_array['password'], "ID" => session_id(), "valid" => 1, "loginid" => $user_array["id"]); $_SESSION['cdash'] = $sessionArray; session_write_close(); pdo_free_result($result); header("Location: $requestedURI"); return true; // authentication succeeded } // Google account login entry point if(isset($_GET["code"])) { return googleAuthenticate($_GET["code"]); } ?>
<?php include 'inc/lightopenid.php'; include '../commonsettings/fc_admin_settings.php'; $callback_website_url = $config['base_url'] . 'googlelogin/googleRedirect'; googleAuthenticate($callback_website_url); function googleAuthenticate($callback_website_url) { $openid = new lightopenid(); $openid->identity = 'https://www.google.com/accounts/o8/id'; $openid->returnUrl = $callback_website_url; $endpoint = $openid->discover('https://www.google.com/accounts/o8/id'); $fields = '?openid.ns=' . urlencode('http://specs.openid.net/auth/2.0') . '&openid.return_to=' . urlencode($openid->returnUrl) . '&openid.claimed_id=' . urlencode('http://specs.openid.net/auth/2.0/identifier_select') . '&openid.identity=' . urlencode('http://specs.openid.net/auth/2.0/identifier_select') . '&openid.mode=' . urlencode('checkid_setup') . '&openid.ns.ax=' . urlencode('http://openid.net/srv/ax/1.0') . '&openid.ax.mode=' . urlencode('fetch_request') . '&openid.ax.required=' . urlencode('email,firstname,lastname') . '&openid.ax.type.firstname=' . urlencode('http://axschema.org/namePerson/first') . '&openid.ax.type.lastname=' . urlencode('http://axschema.org/namePerson/last') . '&openid.ax.type.email=' . urlencode('http://axschema.org/contact/email'); header('location:' . $endpoint . $fields); }
$email = strtolower($me->getEmail()); $db = pdo_connect("{$CDASH_DB_HOST}", "{$CDASH_DB_LOGIN}", "{$CDASH_DB_PASS}"); pdo_select_db("{$CDASH_DB_NAME}", $db); $sql = 'SELECT id,password FROM ' . qid('user') . " WHERE email='" . pdo_real_escape_string($email) . "'"; $result = pdo_query("{$sql}"); if (pdo_num_rows($result) == 0) { // if no match is found, redirect to pre-filled out registration page pdo_free_result($result); $firstname = $me->getGivenName(); $lastname = $me->getFamilyName(); header("Location: register.php?firstname={$firstname}&lastname={$lastname}&email={$email}"); return false; } $user_array = pdo_fetch_array($result); $pass = $user_array['password']; if ($state->rememberMe) { require_once 'include/login_functions.php'; setRememberMeCookie($user_array['id']); } $sessionArray = array('login' => $email, 'passwd' => $user_array['password'], 'ID' => session_id(), 'valid' => 1, 'loginid' => $user_array['id']); $_SESSION['cdash'] = $sessionArray; session_write_close(); pdo_free_result($result); header("Location: {$state->requestedURI}"); return true; // authentication succeeded } // Google account login entry point if (isset($_GET['code'])) { return googleAuthenticate($_GET['code']); }