### 前置条件
1. 一个QQ号.
2. 一台公网通过域名可访问的web服务器.
3. 需要备案 .
### QQ登录流程
1. 打开网站QQ互联 : [http://connect.qq.com](http://connect.qq.com)
2. 创建应用 .
![](https://box.kancloud.cn/e055cf039d510975d6fe4358abf5520c_1003x318.png)
3. 下载官方SDK包,进行配置. 回调地址必须和QQ互联上填写的回调地址完全一致 .
![](https://box.kancloud.cn/171fa8dc4692f6410633437aa9d60d0a_1108x568.png)
4. 点击登录
![](https://box.kancloud.cn/fb985186dd18c08062fa1e7fcb5aaf92_567x376.png)
5. 会跳转到我们在QQ互联上填写的回调地址中去 .
![](https://box.kancloud.cn/b5943ff928955c0578e1b8060f95a9ee_1108x49.png)
6. 在回调函数内操作
~~~
include './API/qqConnectAPI.php';
$qc = new QC();
$token = $qc->qq_callback(); //access_token
$openid = $qc->get_openid(); //open_id
$user = $qc->get_user_info();
echo "
";
var_dump($user);
~~~
结果
~~~
array(18) {
["ret"]=>
int(0)
["msg"]=>
string(0) ""
["is_lost"]=>
int(0)
["nickname"]=>
string(8) "1 Player"
["gender"]=>
string(3) "男"
["province"]=>
string(0) ""
["city"]=>
string(12) "威斯巴登"
["year"]=>
string(4) "1992"
["figureurl"]=>
string(73) "http://qzapp.qlogo.cn/qzapp/101475346/16FDFDA64E5DEA36B34729DE49382DB6/30"
["figureurl_1"]=>
string(73) "http://qzapp.qlogo.cn/qzapp/101475346/16FDFDA64E5DEA36B34729DE49382DB6/50"
["figureurl_2"]=>
string(74) "http://qzapp.qlogo.cn/qzapp/101475346/16FDFDA64E5DEA36B34729DE49382DB6/100"
["figureurl_qq_1"]=>
string(75) "http://thirdqq.qlogo.cn/qqapp/101475346/16FDFDA64E5DEA36B34729DE49382DB6/40"
["figureurl_qq_2"]=>
string(76) "http://thirdqq.qlogo.cn/qqapp/101475346/16FDFDA64E5DEA36B34729DE49382DB6/100"
["is_yellow_vip"]=>
string(1) "0"
["vip"]=>
string(1) "0"
["yellow_vip_level"]=>
string(1) "0"
["level"]=>
string(1) "0"
["is_yellow_year_vip"]=>
string(1) "0"
}
~~~
### QQ登录之后的处理
一般需要给user表增加openID字段用于存储或得到的openID信息 , 以便今后该用户登录做判断 . 还需要保存nickname,city,gender,year等信息.