`

未来的授权标准 -- OAuth 2.0

阅读更多

如果你在当前这个阶段选择在互联网领域创业,那么你会发现,与十年之前相比,你所面临的机遇和能够利用的资源已经丰富得多了。互联网服务之间的整合已经成为必然趋势,许多服务提供商为了给自己的用户提供更好的服务,允许第三方通过调用“开放API”为用户提供更多应用;而且,以国外的google、facebook、twitter为首,有一些用户规模大、技术实力强的服务提供商,为第三方提供了一整套自成体系、纷繁复杂的“开放API”,成为真正的“开放平台”。

开放平台的核心问题在于用户验证和授权。对于服务提供商来说,一般不会希望第三方直接使用用户名和密码来验证用户身份,除非双方具有很强的信任关系。实际上,由于国内业界在开放授权问题上缺乏经验和共识,造成互联网公司之间很多的合作大费周章,甚至于中途夭折。这首先会造成用户享受不到更丰富和更安全的服务,而且从长远来看,会阻碍整个产业的整合和进步。

OAuth协议正是为了解决服务整合时“验证和授权”这一根本问题而生的。实际上,它是业内各大开放平台在尝试解决用户授权问题上的经验总结和知识结晶。

OAuth从1.0版本开始,中间经过很多次的论证、实践和修改,发展出了好几个版本,现在已经发展到2.0版本。所有的版本如下所示:

各个版本的大致关系:

OAuth在2007年10月完成1.0版本,之后直到2009年6月才为了解决一个安全问题而进行了一次修改,这就是1.0a版本。OAuth 1.0a在2010年4月正式成为RFC,在1.0a版本的基础上进行了一些勘误,这就是RFC5849。现在,如果你想实现OAuth 1.0协议,那么应该以RFC5849这个版本为准。

OAuth WRAP的全称是“OAuth Web Resource Authorization Profiles”,它的提出是为了对OAuth 1.0进行简化,解决OAuth 1.0实现困难的缺点。OAuth 2.0以OAuth WRAP协议为基础,以简化实现为原则,并对更多的接入形式予以支持,如按照官方的描述,OAuth 2.0能够同时支持“Web应用、桌面应用、移动终端、家庭设备”等等。注意OAuth 2.0与OAuth 1.0并不兼容,是一套全新的协议。

OAuth 2.0目前还不太稳定,从2010年4月到2010年7月,该协议已经发展出10个子版本,上面列出的参考链接是它的第10个版本,也是目前最新的版本。在这10个版本的变迁中,已经发生了非常多的变化,例如:最开始版本中最引人注意的是6个Flow(即User-Agent Flow、Web Server Flow、Device Flow、Username and Password Flow、Client Credentials Flow、Assertion Flow),用来适应各种授权环境,而最新版本中Flow的概念已经过时,而代之以整合之后的Profile概念;又如,Device Flow已经从第7个版本开始从主协议中拿掉,要单独成为另一个子协议。

OAuth 2.0目前由IETF的OAuth工作组进行推进,并受到Yahoo、Facebook、Microsoft等大公司的多方支持,由来自这些公司的技术专家进行修改和维护。相信,经过多年的发展,OAuth 2.0将成为未来开放平台领域标准的授权协议,并且随着技术发展,这将不仅仅是一个简单的协议,而会成为一个解决各种环境下授权问题的标准的协议族。

分享到:
评论
1 楼 xufun 2012-06-26  
路过,拜读学习了。
谢谢!

相关推荐

    OAuth2.0协议中文版

    OAuth 2.0 协议的未来发展方向主要体现在以下几个方面:OAuth 2.0 协议将继续完善和标准化,提供更加安全、灵活的授权方式;OAuth 2.0 协议将与其他技术结合,提供更加强大的授权解决方案;OAuth 2.0 协议将继续推广...

    OAuth2.0协议原理与实现

    OAuth2.0协议是一种广泛应用于第三方登录及授权的标准协议。相比于OAuth1.0版本,OAuth2.0进行了多方面的优化和改进,例如简化了授权流程、取消了Token的加密过程,并且强制使用HTTPS协议以增强安全性。OAuth2.0协议...

    141-OAuth 2.0实战课.zip

    “04丨结束语 (2讲)”可能会总结整个课程的关键点,回顾学习过程,并提供一些关于未来学习和实际应用的建议,例如如何将OAuth 2.0与其他身份验证协议(如OpenID Connect)结合使用,以及如何持续关注和适应OAuth 2.0...

    Advanced API Security OAuth 2.0 And Beyond-Apress

    8. **未来趋势和技术**:最后,作者可能会展望OAuth 2.0及API安全的未来发展,如OAuth 2.1、OpenID Connect 2.0等新标准,以及可能影响API安全的新兴技术。 这本专著对于开发者、架构师和安全专家来说,是理解和...

    RFC 6749 OAuth 2.0 授权框架

    可扩展性方面,OAuth 2.0设计时考虑了未来可能引入新的访问令牌类型、端点参数、授权许可类型、授权端点响应类型和错误代码等。 安全考量部分讨论了客户端身份验证、客户端仿冒、访问令牌和刷新令牌的安全性问题,...

    Gateway+Springsecurity+OAuth2.0+JWT 实现分布式统一认证授权

    这个项目“Gateway+Springsecurity+OAuth2.0+JWT 实现分布式统一认证授权”旨在构建一个强大的、分布式的认证与授权系统,以保护微服务架构中的各种服务。下面我们将深入探讨其中涉及的关键技术点。 1. **Gateway**...

    OAutho 2.0 授权框架

    OAuth 2.0作为一项开放标准,为互联网应用提供了强大的授权功能。通过对各种授权类型的支持,OAuth 2.0不仅提高了安全性,还增强了灵活性,使得开发者能够根据实际应用场景选择最适合的授权方式。随着技术的发展,...

    Spring Security OAuth 笔记.doc

    - 这意味着开发者需要使用Spring Security的其他组件(如JWT、OAUTH2.0的Resource Server等)来实现OAuth2.0的功能。 6. **Spring Security OAuth的未来** - Spring Security OAuth项目将进入维护模式,不再更新...

    基于OAuth2.0协议的智慧校园认证系统研究.pdf

    OAuth2.0协议是一种开放标准,主要用于授权,它允许第三方应用在用户无需透露自己的密码的情况下,安全地访问其受保护的资源。 OAuth2.0协议的核心角色包括四个:资源所有者(Resource Owner)、客户端(Client)、...

    敏感文件------敏感文件------敏感文件------博客2.0 后端接口.zip

    博客2.0后端接口.zip是一个压缩包,包含的项目是myblog2.0-server-master,这很可能是某个博客平台的后端服务器源代码仓库。在这个项目中,开发者可能已经实现了博客系统的各种后端功能,如用户管理、文章发布、评论...

    转:浅析作用于web2.0安全防范的OpenID和Oauth机制.pdf

    ### Web2.0的安全漏洞与防范机制:OpenID与OAuth #### 一、Web2.0的安全威胁 随着Web2.0技术的快速发展,互联网已不仅仅是信息传递的平台,更成为了用户之间交流互动的重要媒介。诸如Facebook、Twitter、YouTube等...

    oauth2 shiro 多表认证

    OAuth2是一个开放标准,主要用于授权。它允许第三方应用程序在用户同意的情况下访问其私有资源,而无需共享用户的用户名和密码。OAuth2的核心流程包括四个角色:资源所有者(User)、客户端(Client)、资源服务器...

    Android应用源码之第三方登录(新浪,腾讯。人人网)-IT计算机-毕业设计.zip

    - 腾讯QQ SDK:腾讯也提供了专门的SDK,支持OAuth2.0协议,通过API获取授权码,换取access_token,进而获取用户的基本信息。 - 人人网SDK:人人网同样提供SDK,开发者可以通过API获取OAuth2.0的access_token,然后...

    google-oauth-installed-app:一个节点库,用于请求和存储 Google OAuth2 安装应用程序的授权详细信息

    接着,使用`google-oauth-installed-app`库来初始化OAuth客户端,设置回调URL(通常是`urn:ietf:wg:oauth:2.0:oob`对于非Web应用)。在用户授权后,库会处理令牌的获取和存储,使得开发者可以直接使用这些令牌来访问...

    OAuth2通用组件升级源码20121211

    OAuth2.0同时提供Web,桌面和移动应用程序的支持,并较1.0相比整个 授权验证流程更简单更安全。也是新浪微博开放平台未来最主要的用户身份验证和授权方式。 升级内容: 1:引入了淘宝登陆(不是搞淘客站的,淘小二...

    lrucacheleetcode-60_days_of_learning:60_days_of_learning

    lru缓存leetcode Anish Sujanani - 60 天的学习 ...OAuth2.0 在网络上发言,查看常见解决方案 第 3 天 - notes written 身份: 阅读 OAuth2.0 规范 - 在从头开始的 OAuth2.0 授权服务器上开始实施 - 试图在

    【计算机软件毕业设计】汽车销售系统的设计与实现-车辆管理模块.docx

    OAuth2.0是授权框架,用于安全地获取API数据。在车辆管理模块中,Oauth2.0用于验证用户身份,确保数据的安全性和隐私性。 3 系统架构与实现 3.1 系统架构 车辆管理模块通常包括前端用户界面和后端服务器两部分。...

    基于国内开放平台的Oauth认证框架研究 (2011年)

    Oauth2.0是该标准的最新版本,它定义了一套用于授权的流程和角色。本节将详细探讨Oauth2.0认证机制及其在开放平台中的应用。 ##### 2.1 认证体系结构 在开放平台中,Oauth认证体系主要包括以下几个关键组件: - **...

    Spring Security最新文档(英文)

    - OAuth2.0相关模块,包括核心、客户端和JOSE(JSON Object Signing and Encryption)。 - ACL模块(spring-security-acl.jar):访问控制列表的支持。 - CAS模块(spring-security-cas.jar):为CAS协议提供支持...

Global site tag (gtag.js) - Google Analytics