qq::checkUser PHP Method

checkUser() public method

验证用户
public checkUser ( $do )
    public function checkUser($do)
    {
        // dump($_REQUEST);
        // dump($do);
        // exit;
        OAuth::init(QQ_KEY, QQ_SECRET);
        $callback = $this->getCallback('qq', $do);
        if ($_REQUEST['code']) {
            $code = $_REQUEST['code'];
            $openid = $_REQUEST['openid'];
            $openkey = $_REQUEST['openkey'];
            //获取授权token
            $url = OAuth::getAccessToken($code, $callback);
            $r = Http::request($url);
            parse_str($r, $out);
            //存储授权数据
            if ($out['access_token']) {
                $_SESSION['t_access_token'] = $out['access_token'];
                $_SESSION['t_refresh_token'] = $out['refresh_token'];
                $_SESSION['t_expire_in'] = $out['expires_in'];
                $_SESSION['t_code'] = $code;
                $_SESSION['t_openid'] = $openid;
                $_SESSION['t_openkey'] = $openkey;
                $_SESSION['qq']['access_token'] = $out['access_token'];
                $_SESSION['qq']['refresh_token'] = $out['refresh_token'];
                $_SESSION['open_platform_type'] = 'qq';
                //验证授权
                $r = OAuth::checkOAuthValid();
                if ($r) {
                    // header('Location: ' . $callback);//刷新页面
                    return true;
                } else {
                    // exit('<h3>授权失败,请重试</h3>');
                    return false;
                }
            } else {
                exit($r);
            }
        } else {
            //获取授权code
            if ($_GET['openid'] && $_GET['openkey']) {
                //应用频道
                $_SESSION['t_openid'] = $_GET['openid'];
                $_SESSION['t_openkey'] = $_GET['openkey'];
                //验证授权
                $r = OAuth::checkOAuthValid();
                if ($r) {
                    // header('Location: ' . $callback);//刷新页面
                    return true;
                } else {
                    // exit('<h3>授权失败,请重试</h3>');
                    return false;
                }
            } else {
                $url = OAuth::getAuthorizeURL($callback);
                header('Location: ' . $url);
            }
        }
    }

Usage Example

 public function qqcallback()
 {
     include_once SITE_PATH . '/addons/plugins/login/qq.class.php';
     $qq = new qq();
     $qq->checkUser();
     redirect(U('home/Public/otherlogin'));
 }