第三方登录 ----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~
第三方登录 ----QQ登录的更多相关文章
- 第三方登录 QQ登录 人人网登录 新浪微博登录
http://www.pp6.cn/Index.aspx http://www.pp6.cn/Login.aspx 网站有自己的账号系统,这里使用的第三方登录仅仅是获取第三方账号的唯一id,昵称,性别 ...
- 安卓Android第三方登录-QQ登录
要实现QQ第三方登录,其实只需要一个封装类:QQLoginManager 几乎 三行代码 就实现QQ登录功能 这里先给出Github开源项目地址,项目下有详细的使用说明 下面就开始详细说一说怎么实 ...
- PHP第三方登录——QQ登录
主要内容 简单回顾OAuth协议基本原理 接入QQ登录的前置条件以及开放平台账号申请 引入官方SDK SDK参数配置 SDK核心方法解读 整合QQ登录SDK到Web应用中 SDK优化 调用API的开发 ...
- 第三方账号登录--QQ登录,以及QQ微博账号登录
在QQ登陆测试的时候,刚申请正常登陆,但是由于app未上线,或许是腾讯升级造成的个别时候QQ登陆无法成功会提示下图代码,功能上没啥问题,已经达到 测试效果了.附上腾讯错误代码图(大家测试QQ登陆的时候 ...
- 第三方登录(QQ登录)开发流程详解
原文:http://www.cnblogs.com/it-cen/p/4338202.html 近排由于工作的繁忙,已经一个星期没写博文做分享了,接下来我对网站接入第三方登录----QQ登录的实现逻辑 ...
- (转)第三方登录(QQ登录)开发流程详解
近排由于工作的繁忙,已经一个星期没写博文做分享了,接下来我对网站接入第三方登录----QQ登录的实现逻辑做一个详细的讲解. 对于整个流程的详细文档可以到QQ互联官网(http://wiki.conne ...
- Django商城项目笔记No.11用户部分-QQ登录1获取QQ登录网址
Django商城项目笔记No.11用户部分-QQ登录 QQ登录,亦即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目. 若想实现QQ登录,需要成为QQ互联 ...
- qq登录,新浪微博登录 ,接口开发
给linux命令在线中文手册加了,qq登录和新浪微博登录,认证用的是auth2.0,并且用了js api和php api相结合的方式来做的.个人觉得这种方式,兼顾安全和人性化.以前写过一篇关于申请的博 ...
- IdentityServer4(10)- 添加对外部认证的支持之QQ登录
前言 前面我们提到过IdentityServer4是可以添加外部认证的,如果外部认证支持OAuth2,那么添加到IdentityServer4是非常简单的,在ASP.NET Core下提供了非常多的外 ...
随机推荐
- Dynamics CRM 2015-Form之添加Ribbon Button
说到在CRM Form上添加Ribbon Button,那就不得不提到一个Tool:Ribbon Workbench,使用这个Tool,能为我们添加button带来不少便利. Ribbon Workb ...
- JS模块化写法
/* 模块化写法*/ var Person=function(){ var name='Jone', age='24', sex='male'; function createIdea(){ //{. ...
- php常见面试问题
1. 如果没有开启cookies,session如何工作? PHP中的sessions通常会使用cookies的方法.但是如果没有cookies(浏览器禁用cookies),PHP sessions也 ...
- IOS编程学习笔记
@interface -实例对象 +类名 #import "MyClass" @implementation MyClass -(id)initWithString:(NSStri ...
- Python脚本收集腾讯云CDN日志,并入ELK日志分析
负责搭建公司日志分析,一直想把CDN日志也放入到日志分析,前些日志终于达成所愿,现在贴出具体做法: 1.收集日志 腾讯云CDN日志一般一小时刷新一次,也就是说当前只能下载一小时之前的日志数据,但据本人 ...
- Delphi中TApplication详解
转自:http://blog.sina.com.cn/s/blog_4d6f55d90100bmv9.html TApplication是用于Delphi应用程序的类型,该类在单元forms中声明.T ...
- 利用CSS3 animation绘制动态卡通人物,无需使用JS代码
此外博主原创,转载请注明出处:谢谢~ 效果图: 其中云.风车.尾巴是动态的: 以下是代码: <!DOCTYPE html> <html lang="en"> ...
- 1702: [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列
1702: [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 510 S ...
- PPAPI VS NPAPI
flash player PPAPI 它的CPU和内存占用率会比较高,主要是因为缓存大多放在内存里而不是硬盘上. npapi的flash跟ppapi的flash基本是一样的,只不过ppapi插件都 ...
- 剑指offer_(17)
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) public class Solution17 { /*思路:参考剑指offer 1.首先设置标志 ...