PHP实现QQ第三方登录
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~
原版网页地址:http://www.cnblogs.com/xujn/p/5287157.html
PHP实现QQ第三方登录的更多相关文章
- 使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样
使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样openid生成是根据应用的appid和QQ号的一些信息加密生成,对于一个appid和QQ号来说,openid是唯一的 ...
- 【第三方登录】之QQ第三方登录
最近公司做了个网站,需要用到第三方登录的东西.有QQ第三方登录,微信第三方登录.先把QQ第三方登录的代码列一下吧. public partial class QQBack : System.Web.U ...
- QQ第三方登录
QQ第三方登录 在Android应用程序的开发过程中,很多时候需要加入用户登录/注册模块.除了自己动手设计登录界面并实现相应功能外,现在还可以借助百度.腾讯等开发者平台提供的第三方账号登录模块.最近研 ...
- 利用JS_SDK实现QQ第三方登录
前言 现如今,第三方登录已成为大部分网站必备的一项基础技能,引入时髦的第三方登录不仅能帮你吸引更多的用户,也让你的网站可以充分利用其他大型网站的用户资源.本次教程将让你的网站最快捷便利地引入QQ登录. ...
- web实现QQ第三方登录
开放平台-web实现QQ第三方登录 应用场景 web应用通过QQ登录授权实现第三方登录. 操作步骤 1 注册成为QQ互联平台开发者,http://connect.qq.com ...
- Android 实现QQ第三方登录
Android 实现QQ第三方登录 在项目中需要实现QQ第三方登录,经过一番努力算是写出来了,现在总结以下,以防以后遗忘,能帮到其他童鞋就更好了. 首先肯定是去下载SDK和DEMO http://wi ...
- Android应用之——最新版本号SDK V2.4实现QQ第三方登录
为什么要写这篇博客呢?由于.我在做这个第三方登录的时候,找了非常多资料,发现要么就是过时了.要么就是说的非常不清楚.非常罗嗦.并且非常多都是一些小demo,不是什么实例.甚至连腾讯官方的文档都有这个问 ...
- Django项目中使用qq第三方登录。
使用qq登录的前提是已经在qq互联官网创建网站应用并获取到QQ互联中网站应用的APP ID和APP KEY 1,建路由 # qq登录 path('loginQq/',qq.loginQq,name=' ...
- QQ第三方登录回调地址的问题
如题,维护以前的项目,发现原来QQ的第三方登录竟然失败了.回调地址的问题 原来是以前的规则变了.好吧,那就改,谁叫我不是改变规则的人. 中途浪费了点时间,项目很大,我一下也找不到项目里那个接口调用的, ...
随机推荐
- BZOJ3776 : 警察局
怎么3776又换题目了…换题目了…题目了…目了…了… SCC缩点后只有入度或者出度为0的点必须要放警察局 假设一共有t-1个入度或者出度为0的SCC q[1]-q[t-1]表示这些SCC中点的个数 q ...
- AndroidのUI体验之ImmersiveMode沉浸模式
4.4带来了新的api——ImmersiveMode,可以使用户进入沉浸模式,享受更好的用户体验. 打开沉浸模式: /** * Detects and toggles immersive mode ( ...
- 【BZOJ】1082: [SCOI2005]栅栏(二分+dfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1082 题意:n个给出木板,m个给出木板.可以将那m个木板锯成泥想要的长度.问最大能锯成多少个给出的n ...
- 【BZOJ】1606: [Usaco2008 Dec]Hay For Sale(背包)
http://www.lydsy.com/JudgeOnline/problem.php?id=1606 越来越水了T_T 这题两种做法,一个正规01背包,价值就是体积 还有一种是非正规背包,即 if ...
- winform学习之-----关于按键操作的一些小知识(如何获取焦点所在的当前控件)20160623
1.设置整个窗体keydown事件的时候,要设置keyPreview=true; 2.获取当前拥有焦点的控件: 关于这个问题,自己也是纠结死了,在网上搜了好多相关的问题答案,搜出的结果是: //API ...
- C#设计模式——抽象工厂模式(原文转自:http://blog.jobbole.com/78059/)
一.引言 在上一专题中介绍了工厂方法模式,工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码),而工厂方法模式每个具体工厂类只完成单个实例的创 ...
- <html:option获取文本值
<p class="w120">变更后IP:</p> <div class="comBobox w200 f_l"> < ...
- PHP显示日期、周几、农历初几、什么节日函数编程代码
<?function rili($style,$Atime){ $debug = false; $glmonth = date("n",$Atime); //1-12 ...
- 将url的查询参数解析成字典对象
1, 这个题目不约而同的出现在了多家公司的面试题中,当然也是因为太过于典型,解决方案无非就是拆字符或者用正则匹配来解决,我个人强烈建议用正则匹配,因为url允许用户随意输入,如果用拆字符的方式,有任何 ...
- [学习笔记]RAID及实验
RAID: RAID 0 好比只用左手拿了一摞大饼放在那里,相比于只拿一张饼吃,吃的速度会加快.但是万一掉了,就没有了. RAID 1 好比左右手两手一边一个大饼,怎么样都有的吃.但是一只手掉了,还有 ...