无忧技术网 - RSS订阅 
无忧技术网

OAuth 2.0 第三方平台授权介绍


作者:[佚名] - 发布:2014-11-30 17:14:36 - 来源:无忧技术网

  什么是 OAuth

  近几年来,很多网站都默默地在自己的登录链接旁边加上了一个“用XXX平台账号登录”的链接,比如

图片

  使用第三方平台账号登录,当前平台并不会获取到用户的密码,登录的动作在第三方平台下完成。在登录完成后,会跳出一个页面,由当前平台请求对第三方平台的操作授权。

图片

  用户同意之后,一般情况下,当前平台还会要求用户注册一个在当前平台使用的独立账号。

图片

  注册成功后,下次用户再进入当前平台时,就可以使用第三方平台账号登录了。登录后,当前平台及第三方平台的账号都会进入在线状态。

  OAuth 就是为了提供跨平台访问而产生的一种标准。
OAuth 1.0 的标准在 2007 年发布,2.0 的标准则在 2011 年发布。其中 2.0 的标准取消了 Request token 和所有 Token 的加密过程,但因为强制使用 Https 协议,因此被认为安全性高于 1.0 的标准。

  显而易见的是,第三方平台授权有非常大的优点。
首先,用户可以只使用一个社交账号来登录众多平台,这就避免了对于很多非重度使用的平台,注册后忘记用户名和密码的情况。
其次,对于一些小的平台来说,通过 OAuth 授权,可以依托大平台的账号带来用户,对于服务提供方来说,因为账号会在授权双方平台同时在线,也会为己方平台带来可观的流量。
最后,对于用户来说,简化的注册环节以及跨平台访问,则带来了相当多的便利。

  OAuth 2.0流程简介

  因为 1.0 标准的 OAuth 在流程中有非常多的参数传递以及程序加密步骤。如今各大平台几乎已经全部切换到了 2.0 的授权标准。

图片

  上图是 OAuth 2.0 的授权流程。(下文编号与图中编号对应)

  1. 用户在当前平台发送一个通过第三方登录的请求。
  2. 当前平台跳转到第三方平台的授权请求 URL,在 Request 中携带当前平台在第三方平台注册的应用 id, 应用 secret 以及回调地址信息。
  3. 第三方平台在确认 Request 中包含的应用 id, 应用 secret,回调地址与此前注册的一致后,给当前用户提供登录界面。
  4. 用户在第三方平台完成登录及对当前平台的授权。授权内容通常包括通过当前平台访问第三方平台的用户信息,以及操作第三方平台内容的权限。
  5. 第三方平台携带验证码回调当前平台。
  6. 当前平台携带验证码获取 Access token。
  7. 第三方平台验证码通过,生成 Access token 回传给当前平台。
  8. 当前平台携带 Access token 访问第三方平台的受保护内容链接。
  9. 第三方平台返回受保护的内容。
  10. 当前平台保存受保护的内容。通常会让用户在当前平台注册一个新账号,然后将新账号与第三方平台的账号绑定,绑定过后,用户在当前平台会成功登录。
责任编辑:liqwei
打印本页】【关闭本页】【返回列表
·上一篇:十个 JDBC 最佳实践
·下一篇:泛型
 文章评分
  • current rating
-5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5
 相关文章
·[程序综合]OAuth验证流程图 (2011-08-06)
 相关评论
 站点最新文章 更多>> 
·[经典影音]萨利机长
·[经典影音]天空之眼
·[管理知识]康奈尔笔记法,提高100%学习效率
·[管理知识]刘强东:我管75000人靠这4张表格
·[管理知识]跟壳牌学HSE管理
·[运营策划]编辑工作内容整理
·[至理名言]奋斗与决定
·[瀚海拾遗]盲人打灯笼之各家论道
·[搞笑段子]中国男足
·[搞笑段子]大爷被采访
 站点浏览最多 更多>> 
·[协议规范]http断点续传原理:http头 Range、…
·[JS/CSS/HTML]HTML 空格的表示符号 nbsp / en…
·[NoSQL]Mongo数据库简介
·[协议规范]什么是SPF记录?如何设置、检测SP…
·[协议规范]图解 HTTPS 通信过程
·[PHP]精选国外免费PHP空间推荐
·[程序综合]常用IP地址查询接口
·[程序综合]什么是 DNS Prefetch ?
·[程序综合]获取客户端IP地址的三个HTTP请求…
·[Linux]/usr 目录的由来