예제 #1
0
    if (isset($_SESSION[SSO_SESSION]) && isset($_SESSION[SSO_SESSION]['key']) && isset($_SESSION[SSO_SESSION]['secret'])) {
        if (@$_GET['oauth_token'] != $_SESSION[SSO_SESSION]['key']) {
            reportStatus("Returned token does not match", $Auth_ErrorURL);
            die;
        }
        if (@(!isset($_GET['oauth_verifier']))) {
            reportStatus("No verification code provided", $Auth_ErrorURL);
            die;
        }
        $user = $SSO->checkLogin($_SESSION[SSO_SESSION]['key'], $_SESSION[SSO_SESSION]['secret'], @$_GET['oauth_verifier']);
        if ($user) {
            unset($_SESSION[SSO_SESSION]);
            loggedIn($user->user);
            die;
        } else {
            $error = $SSO->error();
            reportStatus("Code: " . $error['code'] . PHP_EOL . $error['message'], $Auth_ErrorURL);
            die;
        }
    }
} else {
    if (isset($_GET['return']) && isset($_GET['oauth_cancel'])) {
        reportStatus("You cancelled your login!", $Auth_ErrorURL);
        die;
    }
}
$token = $SSO->requestToken($sso_return, false, false);
if ($token) {
    $_SESSION[SSO_SESSION] = array('key' => (string) $token->token->oauth_token, 'secret' => (string) $token->token->oauth_token_secret);
    $SSO->sendToVatsim();
} else {