最近在做新浪第三方登录认证,发现oauth2授权是过期的,而oauth1的token和tokensecret是永久不变的,oauth2的token过期后会变化,那登录后,用什么与业务系统的本地用户进行绑定呢?显然用oauth2的token是不行的,因为过期后,再授权时,返回的token值与原来不一样,拿这个变化后的token是无法查询出对应本地业务系统中的用户信息的.经过对新浪授权后返回的自段进行分析
{"access_token":"2.00yY1BIxxxxxx2KeMD","remind_in":"7841204","expires_in":7841204,"uid":"288888860"}
发现有个uid,于是测试取消授权,然后再次授权,发现uid是不变的,那就好了,直接拿uid与本地用户绑定即可,每次授权过期后,重新授权时,拿返回的uid即可查询到本地业务系统中的用户,然后再将重新授权后的token更新到与用户绑定即可;
可能上面文字说的不太清楚,举例说明一下,假设本地用户表为user,绑定关联表为user_token,一般流程为:
1,第一次用新浪帐号登录并授权后(此时本地业务系统的user表还没有该用户的信息),返回token和uid,然后系统自动在user中生产一条记录,将user与token和uid绑定到user_token表,然后让用户去完善信息(比如更改user_name、设置密码什么的),后续用户就可以使用本地帐号登录;
那假设用户一直使用第三方登录,或者使用第三方进行同步什么的,那么就设计到token过期的问题:
2,当授权token过期后,本地业务系统需要提醒用户再次授权,用户再使用新浪帐号登录授权时(注意用户使用的是新浪帐号,会跳转到新浪页去登录,本地业务系统是无法得到用户的新浪帐号的,也就是说此时你无法知道当前用户是谁),返回新的token和与原来一样的uid,这时,使用返回的uid(uid是不变的)到user_token表中查出这条记录,再将新的token更新即可!
希望对大家有点提示作用,或有更好的方式和流程的朋友,也希望能够分享出来!
分享到:
相关推荐
新浪微博OAuth授权的Java实现 一、 OAuth协议简介 OAuth协议是一种广泛使用的授权协议,使用户不需要直接向第三方应用提供用户名及密码,且使一个账户在多个网站中使用成为可能。OAuth协议的细节描述可参考其官方...
2. 新浪微博OAuth验证流程 (1) **申请开发者账户**:首先,开发者需要在新浪开放平台上注册并创建应用,获取到App Key和App Secret。 (2) **重定向URI设置**:开发者需要在应用设置中提供一个回调URL(Redirect URI...
《使用新浪微博OAuth2 PHP SDK实现认证与数据交互》 在当今的互联网开发中,社交平台API的集成成为了不可或缺的一部分,而新浪微博作为中国重要的社交媒体之一,提供了丰富的API接口供开发者使用。其中,OAuth2协议...
在本文中,我们将深入探讨如何使用OAuth2协议模拟登录新浪微博,并了解相关技术细节。OAuth2是一种授权框架,允许第三方应用代表用户与服务提供商进行交互,例如发布微博。在这个例子中,我们将使用Java的Apache ...
《全面解析:使用C#开发新浪微博OAuth2.0 SDK及Demo》 在互联网开发中,社交媒体平台的API接口是开发者不可或缺的工具,其中新浪微博作为中国主流的社交网络之一,提供了丰富的API供开发者进行数据交互。本文将深入...
2.自动加载class下的类文件,加载规则:以类名 + ".class.php"寻找文件 3./class/下,文件名中...5.实例中2个网站(新浪微博和腾讯微博)的OAuth已经实现,并且通过验证。本例中的OAuth客户端来源于新浪微博OAuth认证SDK。
本教程将详细阐述如何使用C#语言和MVC框架实现新浪微博的OAuth2.0登录流程。 首先,我们需要理解OAuth2.0的基本流程。OAuth2.0的核心是四类角色:资源所有者(用户)、资源服务器(如新浪微博)、客户端(你的应用...
在这个“android新浪微博OAuth2认证demo”中,我们将探讨OAuth2.0认证的关键步骤和相关技术。 1. **OAuth2.0的基本流程** OAuth2.0主要分为四个角色:资源所有者(User)、资源服务器(Resource Server)、客户端...
本文将深入探讨“新浪微博OAuth2认证在Android客户端中的实现”这一主题,旨在帮助开发者理解和实施这一过程。 OAuth2的核心目的是为第三方应用提供安全、有限的访问用户资源的权限,而无需获取用户的账号密码。在...
新浪微博oauth认证源码,只要加入开发者自己的key与secret即可通过认证,进行相应的开发
新浪微博OAuth2.0API源码 一个更方便,更快速的C#SDK,希望能帮助更多的朋友学习和使用 新浪微博OAuth2.0API使用流程: 1、根据需要求修改配置文件(Wbm.SinaV2.config)。 2、注册ApplicationKey。(参考...
这篇文档将详细介绍如何使用OAuth2.0协议实现新浪微博的登录功能。OAuth2.0是目前广泛采用的授权框架,它允许第三方应用在用户许可的情况下访问其存储在特定服务提供商(如新浪微博)上的数据,而无需获取用户的...
- 创建OAuth2请求,包括App Key、App Secret、授权码和回调URL,向微博服务器请求Access Token。 - 处理Access Token的响应,保存Access Token并用于后续的API请求。 6. **FcWeibo文件**: 这个文件可能包含了...
### 新浪微博OAuth授权 #### OAuth协议简介 OAuth是一种开放标准协议,用于授权应用程序访问受保护资源(如用户的个人信息)而无需用户提供凭据(如用户名和密码)。它为客户端应用程序提供了一种安全的方法来访问...
这个“OAuth2.0新浪微博简单示例”是为初学者设计的,旨在帮助理解OAuth2.0的工作原理及其在实际应用中的实现方式,特别是与新浪微博的集成。 首先,我们来深入了解一下OAuth2.0的核心概念: 1. **客户端(Client...
【标题】:“新浪微博OAuth2.0分享” 在互联网社交领域,新浪微博是中国极具影响力的社交媒体平台之一。为了方便开发者集成微博功能到自己的应用中,新浪提供了OAuth2.0授权协议的SDK,即“weiboSDK2.1_130806.jar...
在处理OAuth和微博操作时,要处理可能出现的错误,如网络问题、用户取消授权等。通常,`WeiboSDK`会通过代理方法返回错误信息,你可以根据这些信息给出相应的提示。 在实际开发中,还要考虑用户隐私政策、登录刷新...
最近开放平台非常火,各大互联网公司都纷纷推出各自的开放平台,随之流行的 OpenID, OAuth 则成为认证和授权的主要技术。本文将以登陆新浪微博获得授权取得用户数据作为示例简单研究 OAuth 的使用
在Android平台上进行社交媒体分享,尤其是针对新浪微博这样的大型社交平台,Oauth2.0协议的集成是必不可少的。本文将深入探讨如何在Android应用中实现基于Oauth2.0的新浪微博文字和图片分享功能。 首先,我们需要...
webView.loadUrl("https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code"); } } ``` 这里,你需要替换`YOUR_CLIENT_ID`和`YOUR_REDIRECT_URI`为...