php 实现qq第三方登录
学习之前,请大家先看一下oAuth协议。
首先呢,我们进入QQ互联的官方网站 http://connect.qq.com登入我们自己的QQ号,没有QQ号的小伙伴可以忽略本篇博文分享!
如上图所示,点击管理中心,会看到下面有一个创建应用的按钮
点击创建应用,弹出一个应用框框
我们点击网站创建网站应用,会再次弹出一个填写框
上述图片中的网站地址必须是线上域名,就是网上可以访问到的,我们可以去新浪的sae平台去申请一个,网址为http://www.sinacloud.com/doc/sae/php/storage.html
用小伙伴们自己的微博账号登录,没有的话申请一个就可以
登录进入之后点击控制台下的云应用SAE,然后点击新应用
填写信息内容
创建成功后,会让大家选择一个版本仓库,一般有Git和SVN可供选择,一般我们选择SVN,大家都比较熟悉吧,
选择SVN,会有对应得仓库地址,用来存放代码,首先要创建版本,再在自己机器的域名下检出该版本库的代码,一般是有两个文件组成(index.php 和一个config配置文件)
这个时候,我们就已经拥有一个临时的线上域名,我们就可以在QQ互联中进行验证网址了
然后我们进入QQ互联刚才的那个页面,根据提示进行验证,
那么我们就把上面的那段代码放在我们刚刚从SVN上检出的代码index.php的最上方,然后SVN提交服务器(这一步一定要记得执行),
当我们完成之后,点击验证,提示验证成功,因为这个QQ互联网站的关系,可能有的时候服务器卡顿,会出现错乱,提示验证失败,但是只要你按照要求做了,点击第二次一般都会成功。
callback.php就是数据的回调地址,可自行定义,但是要记住。然后创建成功。
点击刚刚创建成功后方的查看详情
就可以看到一个APP ID ,APPKEY
这个一会我们会用到。
我们现在将SVN中的两个文件都删除,(是SVN的删除),然后提交,这样,这个SVN就成为了空白目录。
接下来,我们需要下载一个QQ登陆的SDK包,下载地址:
选择PHP版本
下载完成后解压缩,放在我们的SVN检出目录下
使用SVN增加-提交,上传至服务器端。
好了,那么准备工作已经就绪,我们就来实现QQ的第三方登录,用浏览器访问我们的域名下的SVN地址(也就是SDK包的index.php文件);
默认显示该页面,点击配置项
点击配置。
配置成功后。第一步就已经完成。
example是demo(示例文件),我们根据这个来做:
我们进入example文件夹,复制index.html里面的代码,然后再回到API同级目录下粘贴到index.php(这就是登陆的入口文件)
我们进入example的oauth文件夹,复制index.php,然后再回到API同级目录下粘贴,命名为qqlogin.php(为了区分原有的index.php文件)
我们再次访问index.php,会出现以下界面
这里面有张图片无法显示,我们只需要修改一下index.php中对应得图片路径
再将点击该按钮访问的事件方法进行修改
点击QQ登录按钮
正常则弹出该界面
这个时候我们需要做回调地址的处理;
因为第一次填写的网址下方的回调地址是线上域名的回调网址,我们需要进行修改到我们自己域名下的回调地址,同样需要验证
同样再次验证域名的合法性,在index.php的head头中加入对应代码,SVN上传,点击验证
验证成功。
我们修改API文件中的comm下的inc.php中的回调地址,修改成刚才修改的我们自己域名下的回调地址(修改下方划线地址callback冒号后面的地址)
既然回调地址是callback.php,那么我们当然要有这个文件来接收对应得数据,我们在与index.php的同级目录下创建callback.php,具体书写代码如下:
好了,到了这里,我就不再多说了,相信小伙伴们接下来就该知道怎么做了吧!
我的分享就是这些,可能有很多不足的地方,还请大家不吝赐教,如果有什么疑惑或者不懂得地方,可以在下方留言喔,再见ヾ( ̄▽ ̄)Bye~Bye~