你的位置:首页 > 软件开发 > 操作系统 > iOS实现OAuth2.0中刷新access token并重新请求数据操作

iOS实现OAuth2.0中刷新access token并重新请求数据操作

发布时间:2015-12-01 18:00:04
一、简要概述  OAuth2.0是OAuth协议的下一版本,时常用于移动客户端的开发,是一种比较安全的机制。在OAuth 2.0中,server将发行一个短有效期的access token和长生命期的refresh token。这将允许客户端无需用户再次操作而获取一个新的acce ...

一、简要概述

  OAuth2.0是OAuth协议的下一版本,时常用于移动客户端的开发,是一种比较安全的机制。在OAuth 2.0中,server将发行一个短有效期的access token和长生命期的refresh token。这将允许客户端无需用户再次操作而获取一个新的access token,并且也限制了access token的有效期。即当sever发送的access token过期之后,客户端会调用方法,将access token和refresh token发送给服务端,服务端将会返回新的access token和refresh token。

二、应用场景

  用户登录后,服务端会发行一个有效时间的access token,同时也会发行一个长生命期的refresh token。用户在进行其他网络请求时,会把access token加入请求体中(并不需要加入refresh token)。如果在请求过程中,access token过期,返回相应的状态码。这时就回调用一个回调方法,在回调方法体中将原来的access token和refresh token发送给服务端,获取新的access token和refresh token。然后把新的access token加入刚才的请求体中,重新加载网络请求。

  限定access token的有效时间,只是为了提高安全性。access token过期后重新获取并重新加载请求这一操作,用户是察觉不到的。这种机制在微信、QQ、微博等客户端中尤为常见。

三、实例代码

  (1)此类继承了AFNetworking中的AFHTTPSessionManager类,并重写了里面的方法。

  NetWorkCallBack.h:

  

1 #import <Foundation/Foundation.h>2 #import <AFNetworking.h>3 @interface NetWorkCallBack : AFHTTPSessionManager4 5 @end

原标题:iOS实现OAuth2.0中刷新access token并重新请求数据操作

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。