示例#1
0
        $o->authorize(Util::currentUrl(), 'snsapi_userinfo');
    } else {
        try {
            $token = $o->getToken($_GET['code']);
        } catch (OAuthException $e) {
            exit($e->getMessage());
        }
        setAuthorize($token);
        header('Location: ' . Util::currentUrl());
    }
}
/**
 * 根据 Token 来获取用户信息
 */
$token = getAuthorize();
$user = $o->getUser($token);
echo '<pre>';
var_dump($token);
var_dump($user);
echo '</pre>';
/**
 * 刷新 TOKEN
 */
if (!$o->accessTokenIsValid($token)) {
    $token = $o->refreshToken($token->refresh_token);
    setAuthorize($token);
}
?>

<h1><a href="javascript:;" onclick="window.location.reload()">刷新</a></h1>
示例#2
0
// 或自行跳转
// $url = $o->getAuthorizeURL($callbackUrl, 'snsapi_userinfo', 'state');
// header("Location: {$url}");
/**
 * 第二步:通过 code 换取 AccessToken
 */
// $token = $o->getAccessToken($_GET['code']);
/**
 * 第三步:通过 openid 和 AccessToken 获取用户信息(scope 为 snsapi_userinfo 时有用)
 */
// $userinfo = $o->getUser($token->openid, $token->access_token);
// echo '<pre>';
// var_dump($token, $userinfo);
// echo '</pre>';
/**
 * 完整流程
 */
$o = new OAuth(APPID, APPSECRET);
if (!isset($_GET['code'])) {
    $o->authorize($callbackUrl, 'snsapi_userinfo');
} else {
    try {
        $token = $o->getAccessToken($_GET['code']);
        $userinfo = $o->getUser($token->openid, $token->access_token);
    } catch (OAuthException $e) {
        exit($e->getMessage());
    }
    echo '<pre>';
    var_dump($token, $userinfo);
    echo '</pre>';
}