iOS中关于Cookie验证登录状态

发布时间 - 2026-01-11 00:59:44    点击率:

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

2、将Cookie缓存到本地:            

 NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]];
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject: cookiesData forKey:@"Cookie"];
        [defaults synchronize];

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

 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:            

 NSHTTPCookieStorage *manager = [NSHTTPCookieStorage sharedHTTPCookieStorage];
        NSArray *cookieStorage = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
        for (NSHTTPCookie *cookie in cookieStorage) {
          [manager deleteCookie:cookie];
        }

(2)清除NSUserDefault中的Cookie            

 [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Cookie"];
        [defaults synchronize];

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

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


# ios  # cookie验证登录状态  # iOS微信第三方登录实现  # IOS开发用户登录注册模块所遇到的问题  # vue+axios实现登录拦截的实例代码  # iOS QQ第三方登录实现  # iOS实现第三方微信登录方式实例解析(最新最全)  # IOS实现微信授权登录功能  # iOS微信第三方登录实例  # iOS指纹登录(TouchID)集成方案详解  # iOS开发教程之登录与访客的逻辑实现  # 过了  # 小编  # 的是  # 在此  # 不需要  # 给大家  # 要将  # 就看  # 所述  # 将该  # 给我留言  # 感谢大家  # 判断是否  # 疑问请  # 有任何  # NSKeyedArchiver  # NSData  # cookiesData  # archivedDataWithRootObject  # cookies 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: js实现点击每个li节点,都弹出其文本值及修改  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  如何撰写建站申请书?关键要点有哪些?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  香港服务器部署网站为何提示未备案?  Laravel如何与Pusher实现实时通信?(WebSocket示例)  详解Android——蓝牙技术 带你实现终端间数据传输  如何确认建站备案号应放置的具体位置?  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Laravel storage目录权限问题_Laravel文件写入权限设置  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  ,网页ppt怎么弄成自己的ppt?  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  Android okhttputils现在进度显示实例代码  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  音响网站制作视频教程,隆霸音响官方网站?  Java遍历集合的三种方式  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  用yum安装MySQLdb模块的步骤方法  Laravel如何实现文件上传和存储?(本地与S3配置)  如何在腾讯云服务器上快速搭建个人网站?  如何在橙子建站上传落地页?操作指南详解  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  详解jQuery中基本的动画方法  如何注册花生壳免费域名并搭建个人网站?  如何确保西部建站助手FTP传输的安全性?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  如何在阿里云服务器自主搭建网站?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  Mybatis 中的insertOrUpdate操作  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  网站制作大概多少钱一个,做一个平台网站大概多少钱?  微信小程序 wx.uploadFile无法上传解决办法  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  详解jQuery停止动画——stop()方法的使用  在线制作视频的网站有哪些,电脑如何制作视频短片?  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  微信小程序 五星评分(包括半颗星评分)实例代码  如何快速搭建自助建站会员专属系统?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  *服务器网站为何频现安全漏洞?