在后台NSURLSession为什么安全cookie丢失?

时间:2016-03-29 05:00:40

标签: ios nsurlsession nsurlrequest

我正在开发一个登录 HTTPS 网站的应用。身份验证后,网站会发送一个标记为“安全”的最终Cookie。

当我将defaultSessionConfiguration()用于NSURLSession()时,该应用有效。

当我在应用中更改一行以使用backgroundSessionConfigurationWithIdentifier()时,我无法继续验证阶段。我的网页显示我已通过身份验证,但后续请求会返回登录页面。

"认证成功的cookie"在共享cookie存储中不存在。

此Cookie是网站标记为" Secure"的唯一Cookie。请注意,此HTTPS网站通过HTTPS完成所有交易。

TL; DR NSURLSession后台会话与默认会话的不同之处在于丢失安全cookie吗?

编辑:我已经完成了更多的工作。

使用NSURLSession backgroundSessionConfiguration 重定向时,它似乎会忽略在重定向标头中发送的Cookie? (我认为cookie是"安全"可能并不重要。)

指定defaultSessionConfiguration时,重定向正常工作。

1 个答案:

答案 0 :(得分:0)

事实证明这是一个已知的错误。 Apple r。 16852027

已知backgroundSession会忽略重定向上的新Cookie。解决方案是使用defaultSession获取cookie,然后继续使用backgroundSession。

请参阅Apple Developer Forum post