我是靠谱客的博主 开心八宝粥,这篇文章主要介绍iOS中关于Cookie验证登录状态,现在分享给大家,希望可以做个参考。

1、第一次进入应用,登录获取Cookie,此时如果用到的是AFN去获取接口数据,Cookie已经写入了,所以无需处理,每次请求的时候,会自动将该cookie传给后台去验证

2、将Cookie缓存到本地:            

复制代码
1
2
3
4
NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject: cookiesData forKey:@"Cookie"]; [defaults synchronize];

3、当第二次进入应用的时候,先判断NSUserDefault是否有缓存的Cookie,如果有,需要将cookie写入,然后进入应用             

复制代码
1
2
3
4
5
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"Cookie"]]; NSHTTPCookieStorage * cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (NSHTTPCookie * cookie in cookies){ [cookieStorage setCookie: cookie]; }

4、当用户选择退出登录,需要清除缓存中的cookie,同时要将NSUserDefault中的Cookie删除

(1)清除请求头中的Cookie:            

复制代码
1
2
3
4
5
NSHTTPCookieStorage *manager = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray *cookieStorage = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; for (NSHTTPCookie *cookie in cookieStorage) { [manager deleteCookie:cookie]; }

(2)清除NSUserDefault中的Cookie            

复制代码
1
2
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Cookie"]; [defaults synchronize];

 注意:关于Cookie还有有效期,就看后台怎么定义,前端只要判断是否过了有效期,如果过了有效期,如果过了有效期,就需要用户重新登录,反之则不需要。

以上所述是小编给大家介绍的iOS中关于Cookie验证登录状态,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对靠谱客网站的支持!

最后

以上就是开心八宝粥最近收集整理的关于iOS中关于Cookie验证登录状态的全部内容,更多相关iOS中关于Cookie验证登录状态内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(110)

评论列表共有 0 条评论

立即
投稿
返回
顶部