一次“有意思”的cookie同步问题

最近的项目开发中,遇到了一个有趣的问题:金融项目需要接入第三方的SDK进行资金托管,比如充值,提现,投资等。当从第三方的界面回到原生APP界面时,神奇的事情发生了。原本存储在NSHTTPCookieStorage中的cookic却被清空了。项目是依靠cookie验证用户登录状态,这下出大事了:用户莫名其妙的退出登录了。

一,NSHTTPCookieStorage

/*!
  @property sharedHTTPCookieStorage
  @abstract获取默认位置的共享cookie存储。
  @result共享的cookie存储
  @discussion从OS X 10.11开始,每个应用程序都有自己的sharedHTTPCookieStorage单例,
  这将不会与其他应用程序共享。
*/
@property(class, readonly, strong) NSHTTPCookieStorage *sharedHTTPCookieStorage;
当我们使用该类的时候,是通过上面这个属性方法获取到该单例对象的。至于为什么会采用单例模式,是因为该类的用途就是“共享的cookie存储”。
/*!
   @abstract获取所有的cookies
   @result一个NSArray的NSHTTPCookies
*/
@property (nullable , readonly, copy) NSArray<NSHTTPCookie *> *cookies;
/*!
   @method setCookie:
   @abstract设置一个cookie
   @discussion该cookie将覆盖现有的cookie与相同的名称,域名和路径,如果有的话。
*/
- (void)setCookie:(NSHTTPCookie *)cookie;
/*!
   @method deleteCookie:
   @abstract删除指定的cookie
*/
- (void)deleteCookie:(NSHTTPCookie *)cookie;
/*!
   @method removeCookiesSince:
   @abstract从提供的日期起,删除cookie存储中的所有cookie。
 */
- (void)removeCookiesSinceDate:(NSDate *)date
/*!
   @method cookiesForURL:
   @abstract返回要发送到给定URL的cookie数组。
   @param URL获取cookie的URL。
   @result一个NSArray的NSHTTPCookie对象。
   @discussion Cookie管理器检查它存储的cookie包括那些应该被发送到给定的URL。 您可以使用<tt> + [NSCookie requestHeaderFieldsWithCookies:] </ tt>来打开这个数组成一组头字段添加到请求。
*/
- (nullable NSArray<NSHTTPCookie *> *)cookiesForURL:(NSURL *)URL;
/*!
   @method setCookies:forURL:mainDocumentURL:
   @abstract将一个数组的cookie添加到cookie存储中
   Cookie接受政策。
   @param cookies要设置的cookie。
   @参数URL发送cookie的URL。
   @param mainDocumentURL要用作“相同”的基础的主文档URL域名为主要文件“政策。
   @discussion对于mainDocumentURL,调用者应该传递URL一个适当的主文档,如果知道的话。 
  例如,加载时一个网页,顶层的主html文档的URL框架应该通过。 
  根据一组响应保存cookie头,你可以使用<tt> + [NSCookie
cookiesWithResponseHeaderFields:forURL:] </ tt>标题字段字典,然后使用此方法来存储结果的cookie 按照政策设置。
*/
- (void)setCookies:(NSArray<NSHTTPCookie *> *)cookies forURL:(nullable NSURL *)URL mainDocumentURL:(nullable NSURL *)mainDocumentURL;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,234评论 25 708
  • 今天,你被点赞了吗?被点赞其实无异于小时候的小红花。当前很多社交软件里都存在点赞功能,并且在用户主页显示被点赞的总...
    椿未去湫复来阅读 185评论 0 0
  • 第一、学无止境 随时要进步,逆水行舟,不进则退。 第二、游戏抡锤人人的心态一定要好 没时间给你去沮丧 抓紧下一把 ...
    功在十驾阅读 347评论 0 0
  • 高智慧的海豚已經掌握了人類世界的性愛技巧⋯嗯,比如“性交並不是為了繁殖後代也可能只是為了娛樂而已”,最⋯甚至有些會...
    牛筋燉豬腳阅读 3,967评论 0 1
  • 先了解圣杯布局 双飞翼与圣杯细微区别 双飞翼比圣杯多了一个内嵌的main-inner标签 双飞翼设置main-in...
    元气满满321阅读 354评论 0 1

友情链接更多精彩内容