php第三方登录的实现:QQ篇
前几天做了百度的第三方登录,其实流程都差不多,因此再来做qq的第三方登录,明显简单了许多,而且有一点需要强调一下,qq的SDK做的相当好,直接就用了,完全没有问题,忍不住就想吐槽一下百度,封的类里面注释还全英文,你是国外的网站吗???话说回来也得夸人家一下,毕竟你真正去做这些东西的时候你才会有这些感受,申请qq的API Key艰难的要死,除了手持身份证审核,还必须有已经通过备案的域名,审核时长说是一个星期,其实每个步骤大概两天能知道结果。相反的,百度的审核很简单,着急用的话你可以先去百度申请。
毕竟是两个不一样的公司,还有一些不一样的地方,就是下载完SDK需要先进行一下配置。第一次从浏览器进入下载的包里面就会提示你进行配置,根据自己的情况填写信息,下面可选框是你希望从腾讯获得的权限,这些接口腾讯文档里面都有说明,填写完成点击配置按钮,这些信息就会写进API/comm文件夹下的Inc.php文件,方便之后使用。如同包里面的doc文档所说,配置完成后把API文件夹放到你的项目里面,直接包含qqConnectAPI.php文件就可以了。
为了加深对第三方登录的理解,这里介绍两种方法,第一种不用API包,相应的代码会多一点。
第一种:面向过程
1.获取Authorization Code
这一步的操作类似百度,第一步要先到https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=###&redirect_uri=###&state=###
获取code,用于下一步换取Access Token,client_id是你申请到的App_id,redirect_uri是你的回调地址,state这个参数百度是没有的,用腾讯的说法,这个是为了防止CSRF攻击,如果这个名词没有听说过的话,自己想办法吧,我在这不会告诉你的,
$_SESSION[