学习之前,请大家先看一下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第三方登陆的更多相关文章

  1. QQ,微信第三方登陆

    感觉越是大公司的SDK越不好用,其实我也是一直在想为什么他们拿那么高的工资却干着不相应的事儿. 下面说下QQ和微信第三方登陆的一点坑 首先 (QQ互联)自带的sdk中  一个文件工程没有调用产生关联错 ...

  2. 网站添加第三方登陆(PHP版)

    这两周正在写毕业设计,我做的是一个问答网站.先介绍一下这个网站:这是一个关于大学生在线问答的网站,类似知乎和百度知道,不过功能没有人家多,毕竟这个网站我一个人在做.网站部署在阿里云,网站包括API,W ...

  3. OAuth协议——PHP第三方登陆协议

    慕课网Badguy老师的良心课程! 总会有那种什么都不想干的时候,但现在的日子又不这么允许个人的放纵,我一般就只有这几个选择:看课程视频,看书,看小说..好像还是有可以做的事情.其中,看课程视频有点无 ...

  4. 微信第三方登陆,无需注册一键登录,获取用户信息,PHP实现方法

    今天讲讲利用微信oauth2实现第三方登陆的实现方法. 先说说前提吧! 首先你得是服务号,并且是经过认证的.这样微信会给你很多第三方接口的权限,如果是订阅号或者没有认证的服务号那就不用想了! 一开始你 ...

  5. C#网站实现QQ第三方登陆# C#快速开发教程

    C#网站实现QQ第三方登陆 说起在网站上面可以直接使用QQ登录功能大家并不陌生.但翻其官方提供的SDK包中却没有C#方向的. 但是我们有个牛人叫张善友,做了一个民间SDK.下面我们就是用他所写的SDK ...

  6. 百度apistore第三方登陆使用说明

    最近做一个个人博客,其中的登陆模块我想使用第三方登陆来做.上网搜一下有好多例子,但是大多数都是一个网站的第三方登陆,如QQ.微博.人人,没有集成的组件,于是就在网上搜一下百度的apistore,百度果 ...

  7. 百度apistore第三方登陆

    最近做一个个人博客,其中的登陆模块我想使用第三方登陆来做.上网搜一下有好多例子,但是大多数都是一个网站的第三方登陆,如QQ.微博.人人,没有集成的组件,于是就在网上搜一下百度的apistore,百度果 ...

  8. ShareSDK第三方登陆 (IOS)

    1.http://www.mob.com/ 注册申请 2.http://www.mob.com/#/download SDK下载  (简洁版:http://www.mob.com/#/download ...

  9. iOS开发怎么样做第三方登陆(友盟社会化分享)

    基于前一篇文章   自定义UI后 实现如下代码   即可 //第三方登陆 //    UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformMa ...

  10. QQ互联第三方登陆 redirect uri is illegal(100010)

    想必第一次大家接触QQ第三方登陆都会遇到各种各样的问题,备受折磨,因此,今天我把自己做QQ登陆的过程描述一下,希望给大家提供参考,少走弯路. 在开发之前,我们先了解下QQ登陆的流程 第一:查看熟悉 网 ...

随机推荐

  1. docker sonaqube

    postgresql:   image: orchardup/postgresql:latest   environment:   - POSTGRESQL_USER=sonar   - POSTGR ...

  2. 读书笔记——《图解TCP/IP》(1/4)

    读书笔记——<图解TCP/IP>(1/4) 经典摘抄 第一章 网络基础知识 1.独立模式:计算机未连接到网络,各自独立使用的方式. 2.广域网 WAN 局域网 LAN 城域网 MAN 3. ...

  3. 通过nginx配置文件抵御攻击

    通过nginx配置文件抵御攻击 囧思九千 · 2013/11/12 12:22 0x00 前言 大家好,我们是OpenCDN团队的Twwy.这次我们来讲讲如何通过简单的配置文件来实现nginx防御攻击 ...

  4. QObject::deleteLater()并没有将对象立即销毁,而是向主消息循环发送了一个event,下一次主消息循环收到这个event之后才会销毁对象 good

    程序编译运行过程很顺利,测试的时候也没发现什么问题.但后来我随手上传了一个1G大小的文件,发现每次文件上传到70%左右的时候程序就崩溃了,小文件就没这个问题.急忙打开任务管理器,这才发现上传文件的时候 ...

  5. 企业服务总线(ESB)

    思考: 1.ESB的定义到底是什么?是一款产品还是一种架构模式? 2.ESB有何实际用处? 定义ESB 对于企业服务总线(Enterprise Service Bus),目前还没有公认的定义,根据供应 ...

  6. ArcGIS API for Silverlight开发入门准备

    原文:ArcGIS API for Silverlight开发入门准备 微软的Silverlight提供了跨浏览器和跨平台开发环境,在Web中可用于创建和展现富互联网应用(RIA,Rich Inter ...

  7. iOS 获取UUID

    -(NSString*)GetUUID { CFUUIDRef puuid = CFUUIDCreate( nil ); CFStringRef uuidString = CFUUIDCreateSt ...

  8. LeetCode Number of Digit One

    原题链接在这里:https://leetcode.com/problems/number-of-digit-one/ 每10个数, 有一个个位是1, 每100个数, 有10个十位是1, 每1000个数 ...

  9. Metro中控件WebView访问外部的网页显示一片空白

    Metro中控件WebView访问外部的网页显示一片空白 解决方案: ​下载安装了Initex.Software.Proxifier.v3.21.Standard.Edition.Incl.Keyma ...

  10. Silverlight以列表显示数据库数据_DataGrid

    效果图:      前台代码: 里面有一部分是我测试统计图的代码,不想改,感觉应该不影响理解.... <UserControl x:Class="Task_One.MainPage&q ...