第三方登录 ----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下提供了非常多的外 ...
随机推荐
- Js 跨域CORS报错 Response for preflight has invalid HTTP status code 405
问题 公司项目H5调用接口遇到Response for preflight has invalid HTTP status code 405这样的错误,是使用PUT方式提交请求接口.Content-T ...
- 负笈前行--DPDK代码风格
每个公司都会有自己代码风格或者编程规范,都旨在防范编程语言的一些陷阱或者提高代码效率,还有就是保持一致编码风格来提高代码可读性,方便code review: 或者说代码的一种美学,比如python也就 ...
- tomcat基础应用
1. Tomcat版本和支持的API和JDK版本 Apache Tomcat Servlet API JSP API JDK 7.0 3.0 2.2 1.6 6.0 2.5 2.1 1.5 5.5 2 ...
- IE中使用ajaxSubmit上传文件弹出下载提示框
使用jQuery的ajaxSubmit 上传文件时,在IE中会弹出下载提示框: 解决方法:让action返回String类型,而不是ActionView,
- 配置FindBugs和常见FindBugs错误
配置FindBugs: 在这里可以对FindBugs规则等进行详细设置. 选择你的项目,右键 => Properties => FindBugs => 1 Run Automatic ...
- iOS开发之Runtime常用示例总结
经常有小伙伴私下在Q上问一些关于Runtime的东西,问我有没有Runtime的相关博客,之前还真没正儿八经的总结过.之前只是在解析第三方框架源码时,聊过一些用法,也就是这些第三方框架中用到的Runt ...
- NSRunLoop原理详解——不再有盲点
编程最怕的就是有盲点,不确定,而runloop官网对其提及的又很少:那么看完这篇应该使你有底气很多~ RunLoop整体介绍 An event-processing loop, during whic ...
- 使用yum安装cmake
一.搜索yum源中的CMake,查看源中最新的版本是什么,使用命令[root@localhost ~]# yum search cmake ,如果搜索出的结果过多可以配合grep命令来控制搜索结果. ...
- 发布自己的Angular2库初探
从去年年底开始使用ng2,遇到并解决或被虐了一些问题点,对其各种新特性与开发模式感觉还算舒服.还有的一个感想就是,要使用ng2还得先学习不少其他东西,比如TypeScript语法,比如ES6新特性,还 ...
- Linux配置JDK
在etc/profile文件下添加 export JAVA_HOME=/root/Desktop/jdk1.7.0_79 export CLASSPATH=/root/Desktop/jdk1.7.0 ...