OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。目前互联网很多服务如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。
oauth请求过程:
获取未授权的request token
请求参数:
OAUTH_consumer_key:消费方键值。
OAUTH_signature_method:消费方签署本请求所用的签名方法。
OAUTH_signature:签名,定义于签署请求 (签署请求)。
OAUTH_timestamp:定义于Nonce and Timestamp (单次值与时间戳)。
OAUTH_nonce:定义于Nonce and Timestamp (单次值与时间戳)。
OAUTH_version:可选。
额外参数:由服务提供方定义的任意额外参数
服务方返回结果,响应包含如下参数:
OAUTH_token:请求令牌
OAUTH_token_secret:令牌密钥
附加参数:由服务提供方定义的任意参数。
获取用户授权的request token
请求参数:
OAUTH_token:可选。在前述步骤中获得的请求令牌。服务提供方可以声明此参数为必须,也可以允许不包含在授权URL中并提示用户手工输入。
OAUTH_callback:可选。消费方可以指定一个URL,当 获取用户授权 (获取用户授权)成功后,服务提供方将重定向用户到这个URL。
附加参数:由服务提供方定义的任意参数。
服务提供方将用户引导回消费方
如果消费方在OAUTH_callback中提供了回调URL(在消费方引导用户至服务提供方 (消费方引导用户至服务提供方)中描述),则服务提供方构造一个HTTP GET请求URL,重定向用户浏览器到该URL,并包含如下参数:
OAUTH_token:被用户授权或否决的请求令牌
回调URL可以包含消费方提供的查询参数,服务提供方必须保持已有查询不变并追加OAUTH_token参数。
用授权的request token换取Access Token
消费方请求访问令牌参数:
OAUTH_consumer_key:消费方键值。
OAUTH_token:之前获取的请求令牌。
OAUTH_signature_method:消费方使用的签署方法。
OAUTH_signature:签署请求 (签署请求)中定义的签名。
OAUTH_timestamp:在单次值与时间戳 (单次值与时间戳)中定义。
OAUTH_nonce:在单次值与时间戳 (单次值与时间戳)中定义。
OAUTH_version:版本号,可选。
返回参数:
OAUTH_token:访问令牌。
OAUTH_token_secret:令牌密钥。
访问受保护资源
请求参数:
OAUTH_consumer_key:消费方键值。
OAUTH_token:访问令牌。
OAUTH_signature_method:消费方使用的签署方法。
OAUTH_signature:签署请求 (签署请求)中定义的签名。
OAUTH_timestamp:定义于单次值与时间戳 (单次值与时间戳).
OAUTH_nonce:定义于单次值与时间戳 (单次值与时间戳).
OAUTH_version:版本号,可选。
分享到:
相关推荐
在本文中,我们将深入探讨如何使用Apache JMeter进行OAuth 1.0授权认证。OAuth 1.0是一种授权协议,允许第三方应用安全地访问用户在另一服务上的资源,而无需获得用户的用户名和密码。JMeter是一款强大的性能测试...
Spring Security OAuth 是一个用于保护RESTful Web服务的框架,它为OAuth 1.0a和OAuth 2.0协议提供了全面的支持。在这个源码中,我们可能会看到如何将Spring Security与OAuth结合,以构建安全的Web应用程序和服务。...
OAuth 2.0 是一种广泛使用的授权框架,它允许第三方应用在用户许可的情况下访问其私有资源。在本文中,我们将深入探讨 OAuth 2.0 的核心概念,并结合 Java 实现来理解其工作原理。 OAuth 2.0 主要分为四个角色:...
Java的oauth2.0 服务端与客户端的实现.zip 封装了oauth2.0的基本架构和实现,对照我的博客http://blog.csdn.net/jing12062011/article/details/78147306使用该源码。 下载项目压缩包,解压,里面两个maven项目:...
**OAuth2.0协议概述** OAuth2.0是一种授权框架,允许第三方应用在用户许可的情况下,访问特定资源。它主要用于安全地实现用户数据的共享,比如社交媒体登录、云存储服务等。OAuth2.0的核心是将用户的授权过程与实际...
赠送jar包:spring-security-oauth2-2.3.5.RELEASE.jar; 赠送原API文档:spring-security-oauth2-2.3.5.RELEASE-javadoc.jar; 赠送源代码:spring-security-oauth2-2.3.5.RELEASE-sources.jar; 赠送Maven依赖信息...
赠送jar包:spring-security-oauth2-2.3.5.RELEASE.jar; 赠送原API文档:spring-security-oauth2-2.3.5.RELEASE-javadoc.jar; 赠送源代码:spring-security-oauth2-2.3.5.RELEASE-sources.jar; 赠送Maven依赖信息...
OAuth Signpost是一个专门为Java开发者设计的开源库,它简化了OAuth协议的实现,使得开发者能够更轻松地在自己的应用程序中集成OAuth授权功能。OAuth是一种开放标准,主要用于安全地授权第三方应用访问用户存储在另...
OAuth 2.0 是一种广泛使用的开放网络授权协议,它允许第三方应用安全地访问用户存储在其他服务上的数据,而无需获取用户的登录凭据。这个压缩包文件包含的是 OAuth 2.0 的服务端和客户端的源代码,这对于理解OAuth ...
OAuth2.0正是为了解决这个问题而设计的。 RFC6749是OAuth2.0授权框架的标准文档,由互联网工程任务组(IETF)发布,并由D.Hardt编辑。该文档更新并废弃了早期的OAuth1.0协议(RFC5849)。RFC6749是一份标准轨道类别的...
《OAuth 2.0 实战》是一本深入探讨OAuth 2.0协议的专业书籍,它主要面向开发者和系统架构师,旨在帮助读者理解和实施OAuth 2.0授权框架,以安全地实现第三方应用的访问权限控制。OAuth 2.0是互联网上广泛采用的开放...
微信OAuth2.0授权是一种广泛应用于移动应用和网站的第三方登录解决方案,主要目的是为了安全地获取用户的微信身份标识——openid,以便提供个性化服务或者与其他微信功能集成。在本文中,我们将详细探讨微信OAuth2.0...
Spring Security OAuth2 是一个强大的框架,用于为Java应用提供OAuth2和OpenID Connect安全功能。OAuth2是一个授权框架,允许第三方应用在用户许可的情况下访问其受保护的资源,而OpenID Connect则是在OAuth2之上...
SpringBoot集成OAuth2.0是将流行的OAuth2.0安全框架与SpringBoot应用程序相结合的过程,以便为API和Web应用提供安全的访问控制。OAuth2.0是一个授权框架,允许第三方应用在用户授权的情况下访问其受保护的资源,而...
Spring Security OAuth2.0 是一个强大的安全框架,用于构建安全的Web应用和API。OAuth2.0 是一种授权框架,允许第三方应用在用户许可的情况下访问其受保护的资源,而无需共享用户凭证。本讲义结合代码将深入探讨如何...
OAuth2 是一个授权框架,广泛应用于现代Web应用中,用于安全地实现第三方应用访问用户资源。单点登录(Single Sign-On, SSO)则是一种让用户在多个应用系统中只需要登录一次就能访问所有系统的机制。当你提到“模拟...
### OAuth2.0协议原理与实现 #### 一、OAuth2.0协议概述 OAuth2.0协议是一种广泛应用于第三方登录及授权的标准协议。相比于OAuth1.0版本,OAuth2.0进行了多方面的优化和改进,例如简化了授权流程、取消了Token的...
OAuth2.0是一种广泛使用的授权框架,用于在第三方应用与用户资源之间建立安全的数据共享机制。这个框架允许用户授权第三方应用访问他们存储在特定服务提供商(如Google或Facebook)上的数据,而无需分享他们的登录...
OAuth2.0是一种广泛使用的开放授权协议,它允许第三方应用在用户许可的情况下访问其存储在另一服务提供商上的私有资源。这个协议的核心是为了解决API的安全访问问题,避免用户直接将用户名和密码提供给第三方应用。...