OAuth2.0协议及其的应用的模式的研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OAuth2.0协议及其的应用的模式的研究

OAuth2.0协议及其的应用的模式的研究   摘 要:OAuth2.0协议可以有效实现用户身份认证和资源开放授权,同时避免了对外暴露用户的敏感信息。研究了OAuth2.0协议工作的核心原理,包括工作流程和令牌发放模式,分析总结了当前较为典型的基于OAuth2.0协议的开放授权应用模式,可为其它开放授权应用提供参考。   关键词:OAuth2.0;开放授权;身份验证;单点登录   DOIDOI:10.11907/rjdk.151251   中图分类号:TP301 文献标识码:A 文章编号:1672-7800(2015)007-0023-03   0 引言   信息技术迈入Web2.0时代之后,大量互联网应用不断涌现,为用户提供不同的服务。在某些应用场景下,用户需要将自己保留在应用系统中的资源提供给第三方使用。如何在保证用户信息安全的前提下,对用户身份进行鉴定,并将用户指定的资源提供给第三方,即实现用户身份验证与资源开放授权,是互联网服务提供商需要解决的问题。OAuth协议提供了针对该问题的解决方案,目前的最新版本是2.0。OAuth2.0协议能够允许第三方应用代表资源拥有者(系统用户)或者第三方应用本身获得应用系统有限的使用权限。该协议简洁易用,可以充分保证身份认证和开放授权过程的安全性,并有效实现应用资源的可控性和开放性,目前已被包括众多互联网服务提供商支持。   1 背景与意义   目前,众多互联网商向外界公布了自己的开放应用平台,大量的第三方应用可以直接免费发布在开放平台上,用户使用原有账号,无需注册即可使用这些应用。但是,这些第三方应用大都需要使用用户的信息资源(头像、ID号、联系人列表等)。因此,需要解决的问题是:如何设计出完善的用户身份认证和开放授权流程,既能对合法的系统用户进行身份鉴定,又能将用户限定的信息资源开放给已获得授权的第三方应用,同时避免用户在开放授权过程中,将涉及到用户信息安全的敏感信息(如口令)暴露给外界。OAuth协议即在这样的需求下应运而生。OAuth协议的最新版本是2.0,与OAuth1.0协议相比,OAuth2.0版本更加简捷,在实际中使用更多,已成为事实上的标准解决方案。   OAuth协议的根本意义在于实现了资源的集中利用和重新整合,主要表现在:   (1)对于用户而言,可避免同时跨多个系统保留信息资源。诸多互联网应用的出现,在满足用户需求的同时,也造成了用户在不同的应用系统中保留大量信息资源。这些信息资源往往具有较高的相似性。由于不同系统中的信息相对隔离,在没有用户授权的情况下,外部应用无法获取这些信息,造成大量冗余信息的存在[1]。理想情况下,用户只需将信息资源存放在一处,即可跨系统利用,即“一次认证,多次使用”,从而有效提升用户体验。   (2)对于服务提供商而言,可以降低所提供服务的“同质化”趋势。第三方应用只需将注意力放在业务逻辑上,而无需关注服务运维、信息存储、安全设置等支撑业务,利用平台提供商的对外开放接口,即可将应用推送给用户。客观上降低了开发、运维成本,提升了应用质量,实现了资源的进一步整合。另外,由于通过OAuth2.0协议可以显著减少认证鉴权次数,实现账号信息的集中管理,增加账号信息的安全性,因此也常常用来实现单点登录功能。   2 工作原理   2.1 OAuth2.0协议实体   OAuth2.0协议中涉及的主要实体包括[2]:①资源拥有者:通常为系统用户,能够授权给第三方应用访问其拥有的资源;②客户端:访问用户资源的第三方应用,该应用可以是Web服务、运行在PC机上的本地程序、智能移动终端上安装的App等。第三方应用只有通过认证服务器验证才能成功获取用户资源;③认证服务器:对资源拥有者进行身份验证,验证通过后,授予访问权限;④资源服务器:保存用户资源的实体,可以接收访问受保护资源的请求。资源服务器通过和认证服务器的交互,判别客户端是否有权访问资源,并根据交互结果向客户端返回应答。   2.2 OAuth2.0核心工作流程   OAuth2.0协议核心工作流程为[2]:①客户端向资源拥有者请求授权许可;②客户端从资源拥有者方面获得授权许可,该授权许可使用协议中定义的授权形式或扩展类型来表示;③凭借获得的授权认证,客户端向认证服务器请求访问令牌,认证服务器对客户端进行验证;④认证服务器验证客户端和授权许可是否合法。如果验证通过,认证服务器将访问令牌返回客户端;⑤客户端向资源服务器请求访问资源,并向资源服务器出示访问令牌;⑥资源服务器验证访问令牌。如果访问令牌合法,资源服务器处理该请求并做出应答。OAuth2.0协议工作流程如图1所示。   图1 OAuth2.0协议工作流程   2.3 OAuth2.0访问令牌获取(更新)方式

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档