---恢复内容开始---


理清思路

1、在第三方注册成为开发者,拿到第三方给的client_id(app_id---就像你的身份证、QQ号)和client_secret(就像你的QQ密码);

2、填写好redirect_url(回调地址----用于用户登录成功后回到的页面地址);

3、写代码

  1. 当用户点击了第三方登录的按钮,出发事件;
  2. 把页面跳转到第三方登录页面;
  3. 第三方登录页面的URL一般由app_id和回调地址等参数构成,具体参见第三方开发文档,照着文档拼接URL页面;
  4. 用户要是登陆成功了,页面会跳回到你在第三方填写好的回调地址,并且你的回调地址后面会有第三方加密后送过来的code参数(型如code=xxxxx);
  5. 获取上个步骤获得的code参数;
  6. 至此,用户完成登录,但我们还是无法使用用户信息,需要用户授权;
  7. 若用户同意授权;
  8. 后台访问一个URL地址,URL地址中包含client_secret参数和code的参数(第三方服务器需验证);
  9. 第三方服务器验证所需参数,若验证通过,则返回响应数据给我们,一般是XML和JSON数组,从中我们可以得到用户的基本信息,其中也包括Accesstoken(能够得到用户基本资料的令牌),归我们用于调用相关API;

4、注:若在获取accesstoken的url地址中,我们添加了一个布尔参数,类似于-----&need_refresh_token=ture;则我们得到的响应数据中还会有refresh_token;

    我们可以在当accesstoken失效,而用户又没有重新登陆时,用来后台自动重新到url请求新的accesstoken。

    例如:连续几个月在用户的空间里自动发说说(用户不经常登录)

第三方登录过程—OAuth2.0协议的更多相关文章

  1. 从bbs.3dmgame.com与qq的登录解析oauth2.0协议

    点击3dm上的qq图标,浏览器跳转到,地址为: https://graph.qq.com/oauth2.0/show ?which=Login &display=pc &respons ...

  2. 使用OAuth2.0协议的github、QQ、weibo第三方登录接入总结

    目录 第三方接入总结 OAuth2.0介绍 github OAuth2.0登录接入 国内第三方应用商SDK使用 微博SDK 腾讯QQ SDK passport.js插件使用 安装 相关中间件.路由 返 ...

  3. 第三方登录,一般都是遵循OAuth2.0协议。

    1. QQ登录OAuth2.0协议开发流程 1.1 开发流程 申请接入,获取appid和appkey; 开发应用,设置协作者账号,上线之前只有协作者才能进行第三方登录 放置QQ登录按钮(这个自己可以用 ...

  4. 第三方登录:微信扫码登录(OAuth2.0)

    1.OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提供 ...

  5. php微信开放平台--第三方网页微信扫码登录(OAuth2.0)

    第一.OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提 ...

  6. 微信开放平台开发——网页微信扫码登录(OAuth2.0)

    1.OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提供 ...

  7. 那些年,我们开发的接口之:QQ登录(OAuth2.0)

    那些年,我们开发的接口之:QQ登录(OAuth2.0) 吴剑 2013-06-14 原创文章,转载必须注明出处:http://www.cnblogs.com/wu-jian 前言 开发这些年,做过很多 ...

  8. QQ登录(OAuth2.0)

    QQ登录(OAuth2.0) 那些年,我们开发的接口之:QQ登录(OAuth2.0) 吴剑 2013-06-14 原创文章,转载必须注明出处:http://www.cnblogs.com/wujian ...

  9. 接口测试工具-Jmeter使用笔记(八:模拟OAuth2.0协议简化模式的请求)

    背景 博主的主要工作是测试API,目前已经用Jmeter+Jenkins实现了项目中的接口自动化测试流程.但是马上要接手的项目,API应用的是OAuth2.0协议授权,并且采用的是简化模式(impli ...

随机推荐

  1. 【转】android 安卓APP获取手机设备信息和手机号码的代码示例

    http://blog.csdn.net/changemyself/article/details/7421476 下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓 ...

  2. JS轮播图

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. http协议的总结说明

    关于http协议已经有很多大牛们的讨论,从他们的文章中获益匪浅,作为一个通信专业的学生,还是想从计算机网络的角度谈一下自己的认识.http协议全称超文本传输协议,是一种允许将超文本标记语言(HTML) ...

  4. MyBatis(3.2.3) - Configuring MyBatis using XML, typeAliases

    In the SQL Mapper configuration file, we need to give the fully qualified name of the JavaBeans for ...

  5. PetShop

    Microsoft .NET Pet Shop 4:将 ASP.NET 1.1 应用程序迁移到 2.0 发布日期: 2006-5-9 | 更新日期: 2006-5-9 适用于:Microsoft .N ...

  6. HDOJ2009求数列的和

    求数列的和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  7. 那万恶的ssh真是麻烦

    设置为允许某组远程ssh ,key也放入相应的服务器了,死活提示,Permission denied (publickey). 而偏偏另外的用户相同的配置却又可以,这里找到答案,原来是跟目录的权限有关 ...

  8. 交叉编译lsof for android

    Android 自带的那个 lsof 实际上是 toolbox 里的,功能十分单一,除了显示出所有进程的所有打开的文件外就什么都不能做,连说明也没有 :-( 于是为了 htop 用着爽一点,还是自己编 ...

  9. Sublime Text 3下 Emmet 使用小技巧

    Emmet常用技巧:(输入下面简写,按Tab键可触发效果)                          生成 HTML 文档初始结构 html:5 或者 ! 生成 HTML5 结构        ...

  10. IOS中一个简单的粒子效果实现

    1.效果图展示 2.实现思路 1> 首先要实现上面的效果,第一步要处理的就是一个简单的画板,在View上面用鼠标滑动的时候画出线条,这个功能可使用UIBezierPath实现 2> 关于粒 ...