iOS 服务端给我token 我怎么判断失效
App 向服务器发送登录请求之后会产生 cookie ,cookie 中包含这个 cookie 的expire date,可以用来判断你的登录有效时间。通常登录有效时间是由服务器端控制的。
朋友,我猜你的网络处理里,一定没有一套全局的错误处理机制,这个错误机制的工作主要是在你得到了这是什么鬼
的数据时进行处理。
朋友,去看看你网络请求的代码吧,不要看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告知你失效与否。
1 回答831 阅读
2 回答625 阅读
1 回答611 阅读
2 回答614 阅读
1 回答703 阅读
645 阅读
这不是客户端的任务,你应该总是认为 token 是有效的,然后每次用到的时候都把它带过去给服务端,由服务端来判断失效。如果它告诉你已经失效了,你再把它清除。