iOS 服务端给我token 我怎么判断失效
高洛峰
高洛峰 2017-04-17 15:42:37
0
6
631

iOS 服务端给我token 我怎么判断失效

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(6)
洪涛

这不是客户端的任务,你应该总是认为 token 是有效的,然后每次用到的时候都把它带过去给服务端,由服务端来判断失效。如果它告诉你已经失效了,你再把它清除。

迷茫

App 向服务器发送登录请求之后会产生 cookie ,cookie 中包含这个 cookie 的expire date,可以用来判断你的登录有效时间。通常登录有效时间是由服务器端控制的。

Peter_Zhu

朋友,我猜你的网络处理里,一定没有一套全局的错误处理机制,这个错误机制的工作主要是在你得到了这是什么鬼的数据时进行处理。

朋友,去看看你网络请求的代码吧,不要看Api.getUserInfo,不要去看XXXNetwork getJSON,不要被这些小把戏迷惑。用你的现代集成开发环境再往更深的地方跳几层,找到一个名字类似- (void)connectionDidFinishLoading:(NSURLConnection *)connection的方法。这里就是你放出去的请求回来的地方。顺着这里往下看,你应该会发现一个叫completeBlock的回调或者代理,下断点,发请求,顺着这里往前走,你的网络框架所作的一切都是在那里啊!你能看到的json、你要的UIImage都是在那里创建出来的。

朋友,这时你应该明白了吧?所谓的网络层错误处理机制就是在这里(或类似工作的地方)捕获错误数据,然后大声的吼出来。关掉这个网页,忘掉我回答的问题,去看看你用的框架的手册吧,上面写了这里该如何处理错误的数据。

PS:我猜你用的是AFNetworking
PPS:推荐看看这个库的代码:https://github.com/nst/STHTTPRequest/,只有薄薄一层呦

迷茫

做过微信相关的应用开发就知道,微信登录需要通过code去拿access token,同时会给一个refresh token 给你,然后好像在2小时内,你可以用access token 去拿用户资料啊各种的接口调用。那么问题来了,access token 失效了你去请求用户资料接口,微信服务器自然会返回你一个 access token 已失效的response给你,那么既然将到了这里,我还想将 refresh token的作用说一下,这时候,你的access token已失效,那么使用微信提供的接口,使用refresh token 去刷新你的access token,这时候微信服务端会在给你派发一个 新的 access token,有效期又是一个新的两小时。

说了这么多,无非就是一句话,你token失效与否是需要你请求一下 服务端的,由它通过response告知你失效与否。

洪涛

带tkoen请求的时候如果失效会请求失败,这时候可以清除token,这个需要全局的判断

Peter_Zhu

你请求的时候别管token有没有失效,只要关心你本地有没有token即可,服务器返回给你token失效了在进行处理

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan