一、OAuth协议简介
OAuth授权在各社交网站中广泛使用,该协议使用户不需要直接向第三方应用提供用户名及密码,并且使一个账户在多个网站中使用成为可能,OAuth协议的细节描述可参考其官方网站:http://oauth.net
目前OAuth 1.0已经出了final version,即RFC 5849,OAuth 2.0也已在起草中。
这篇文章中,我想用比较通俗的语言来解释OAuth协议。
OAuth协议中包含了三个角色:
Service Provdier,即服务提供者,如新浪微博;
User,即普通用户,如新浪微博用户;
Consumer,即第三方应用,如本人开发的应用。
现有如下场景:User想利用Consumer来更新自己在Service Provider中的状态,但此时Service Provider并不信任Consumer,且User也不想把帐号和密码告诉Consumer,于是三者之间需要建立起信任关系。
Consumer首先要向Service Provider申请一对Consumer_Key和Consumer_Secret,以此取得Service Provider的信任。因为User是信任Service Provider的,所以User与Consumer间的信任关系需要借助Service Provider来建立。
Consumer用自己的Consumer_Key和Consumer_Secret向Service Provider请求到一对Request_Token和Request_Token_Secret,而后Consumer拿上这对RequestToken,领着User去见Service Provider。Service Provider见到自己发的RequestToken,便确认Consumer是值得信任的,于是把头转向User。如果Service Provider不记得User了,只要User向Service Provider提供用户名和密码,就能建立起信任关系。然后Service Provider对User说:“我很信任这个Consumer,你是不是也要信任他?”,若User确认,则Service Provider允许Consumer把User带回去,并发给Consumer一个Verifier.
回来以后,Consumer拿着RequestToken和Verifier又单独去找Service Provider,取回来一对Access_Token和Access_Token_Secret,并长期保存。
至此,三方信任关系就建立起来了,Consumer每次在Service Provider中更新User的状态时,只需要提供这对AccessToken,Service Provider便能确定此Consumer能代替User进行相应的操作。
在使用相关OAuth库进行开发时,所需要的关键字在以上场景中都有体现,包括:
Consumer_Key, Consumer_Secret, Request_Token, Request_Token_Secret, Verifier, Access_Token, Access_Token_Secret
分享到:
相关推荐
新浪微博OAuth授权的Java实现 一、 OAuth协议简介 OAuth协议是一种广泛使用的授权协议,使用户不需要直接向第三方应用提供用户名及密码,且使一个账户在多个网站中使用成为可能。OAuth协议的细节描述可参考其官方...
### 新浪微博OAuth授权 #### OAuth协议简介 OAuth是一种开放标准协议,用于授权应用程序访问受保护资源(如用户的个人信息)而无需用户提供凭据(如用户名和密码)。它为客户端应用程序提供了一种安全的方法来访问...
总的来说,实现新浪微博OAuth2.0认证登录是一个涉及用户授权、安全性和用户体验的过程。了解并遵循OAuth2.0协议,结合新浪微博的API文档,你可以为用户提供安全且便捷的登录方式。在开发过程中,持续学习和更新知识...
在本文中,我们将深入探讨如何使用OAuth2协议模拟登录新浪微博,并了解相关技术细节。OAuth2是一种授权框架,允许第三方应用代表用户与服务提供商进行交互,例如发布微博。在这个例子中,我们将使用Java的Apache ...
微博客户端OAuth授权DEMO是一个用于演示如何在应用中集成新浪社交媒体平台的授权功能的实例。OAuth(Open Authorization)是一种开放标准,允许用户提供一个令牌,而不是用户名和密码来访问他们存储在特定服务提供者...
总之,“android新浪微博OAuth2认证demo”是一个实用的学习资源,它展示了如何在Android应用中集成OAuth2.0授权,帮助开发者理解如何安全地与微博服务进行交互,为用户提供更丰富的功能。通过深入研究这个示例,...
本文将详细介绍如何使用WebView组件实现新浪微博的OAuth2.0认证过程,这是一个安全、便捷的方法,避免了直接操作HTML代码获取验证码带来的潜在风险。 OAuth2.0是一种授权框架,它允许第三方应用在用户的授权下访问...
总的来说,实现Android应用中的新浪微博Oauth2.0文字和图片分享,涉及到的步骤包括:申请微博开发者账号、获取App Key和App Secret、引导用户授权、获取Access Token、创建分享内容、以及调用微博SDK进行分享。...
本文将深入探讨如何使用Java调用新浪微博API来实现发送微博和发布图片的功能。这个过程涉及到微博开发的Java SDK,即weibo4j-oauth2,这是一个用于集成新浪微博服务的开源库。 首先,了解OAuth2认证机制是关键。...
在本文中,我们将深入探讨如何在Java环境中使用OAuth2.0授权框架与新浪Weibo API进行集成。Sina Weibo OAuth2.0是新浪提供的安全认证机制,它允许开发者通过用户的授权来访问其微博数据,而无需直接获取用户的登录...
3. **Java实现OAuth 1.0**: - 使用Java库如Signpost或OAuth4Java,这些库提供了处理OAuth签名、请求令牌和访问令牌的API。 - 配置腾讯和新浪微博的API密钥和回调URL。 - 编写代码处理OAuth的各个步骤,包括获取...
对不起,我不得不给这个资源挂上分数,因为该死的CSDN非要折腾个这垃圾功能,我要下载别人的东西没积分没办法....这个里面包括代码,我整理的word笔记文档。 只是我觉得这远远不够,过几天我会录制一个视频,因为我...
1. **新浪微博OAuth**: 新浪微博提供了SDK,包括API接口和OAuth认证。在Android应用中,你需要注册应用,获取App Key和App Secret,然后通过WebView或自定义浏览器加载授权页面,引导用户授权。授权成功后,通过回...
- **合作伙伴授权**:最高级别的授权,无请求次数限制,适用于与新浪微博有深入合作的项目。 #### 五、认证方式 新浪微博开放平台支持两种认证方式:BasicAuth和OAuth。 ##### BasicAuth(HTTPAuth) - **实现...
在这个项目中,我们重点讨论基于Java实现的新浪微博API客户端,它提供了访问和交互微博数据的能力。 首先,Java是面向对象的编程语言,它的强大在于其丰富的类库和强大的社区支持。在开发微博应用时,可以使用如...
Java获取新浪微博评论是一个涉及到网络爬虫技术和OAuth2认证授权的过程。在Java中,开发者可以使用第三方库如Weibo4J来实现对新浪微博API的调用,从而获取并处理微博的评论数据。Weibo4J是一个Java接口库,专门用于...
Android版新浪、网易、腾讯、搜狐微博OAuth认证实例集,想更多了解OAuth认证的朋友,请下载java源码包,在示例中完整解析了OAuth认证的过程:定义URL编码方式,请求url,得到注册应用后服务商提供的key和secret,...
【描述】"毕业设计-新浪微博API的Java编程源代码"揭示了项目的核心部分,即用Java实现对新浪微博API的调用。这涉及到网络编程、HTTP请求、JSON解析等技术。源代码中,开发者可能使用了如SinaWeibo4J、Unirest或...
总之,Java实现新浪微博OAuth接口发送图片和文字,需要理解OAuth授权机制,熟悉HTTP的POST请求,以及正确处理多部分表单数据。通过以上步骤和适当的库支持,您可以构建一个可靠的微博发布工具。