예제 #1
0
    $redirect_url = esc_url($_GET['redirect_to']);
    if (!$redirect_url) {
        $redirect_url = strtok($_SERVER['HTTP_REFERER'], "?");
    }
    $_SESSION['VOA']['LAST_URL'] = $redirect_url;
}
if (!CLIENT_ENABLED) {
    $this->voa_end_login("This third-party authentication provider has not been enabled. Please notify the admin or try again later.");
} elseif (isset($_GET['error_description'])) {
    $this->voa_end_login($_GET['error_description']);
} elseif (isset($_GET['error_message'])) {
    $this->voa_end_login($_GET['error_message']);
} elseif (isset($_GET['code'])) {
    if ($_SESSION['VOA']['STATE'] == $_GET['state']) {
        $v->setCode($_GET['code']);
        $access_token = $v->getToken($_SESSION['VOA']['STATE']);
        $expires_in = $v->getExpiresIn();
        $expires_at = time() + $expires_in;
        if (!$access_token || !$expires_in) {
            $this->voa_end_login("Sorry, we couldn't log you in. Malformed access token result detected. Please notify the admin or try again later.");
        } else {
            $_SESSION['VOA']['ACCESS_TOKEN'] = $access_token;
            $_SESSION['VOA']['EXPIRES_IN'] = $expires_in;
            $_SESSION['VOA']['EXPIRES_AT'] = $expires_at;
            try {
                $vInfo = $v->getVInfo();
                $googleInfo = $v->getGoogleData();
                $oauth_identity = array();
                //universal
                $oauth_identity['provider'] = $_SESSION['VOA']['PROVIDER'];
                $oauth_identity['id'] = $vInfo->{'enlid'};
예제 #2
0
파일: v.php 프로젝트: josephblock/voauth
/*
 * Change values to what you need
 * scopes are set as constants
 */
$v->setClient("Your client here");
$v->setSecret("Your secret here");
$v->addScope(array("Add scopes here"));
$v->setRedirect("redirect URL here");
if (isset($_GET['logout'])) {
    unset($_SESSION['vACCESS_TOKEN']);
    unset($_SESSION['vREFRESH']);
}
if (isset($_GET['code'])) {
    if ($_GET['state'] === md5('stateGoesHere')) {
        $v->setCode(trim($_GET['code']));
        $_SESSION['vACCESS_TOKEN'] = $v->getToken("stateGoesHere");
        $_SESSION['vREFRESH'] = $v->getRefreshToken();
    } else {
        die("CSRF attack");
    }
    //do something after login
} elseif (isset($_SESSION['vACCESS_TOKEN'])) {
    //set token from session and use it to retrieve data
    $v->setToken($_SESSION['vACCESS_TOKEN']);
    try {
        $vInfo = $v->getVInfo();
        echo "you are logged into v. Welcome back " . $vInfo->{'agent'};
    } catch (Exception $e) {
        echo $e->getMessage();
    }
} else {