【发布时间】:2015-12-19 17:47:05
【问题描述】:
我有一个 iOS 应用程序,它使用 UIWebView 中的 OAuth2 向 Uber API 进行身份验证。升级到 iOS 9 时,我遇到了 ATS 阻止登录页面的 https 请求的问题。然后我为 Uber 登录页面添加了一个例外,但随后注意到登录页面向 Facebook、Amazon Web Services 和其他网站发出了其他几个请求,都被 ATS 阻止了。
我不想维护 Uber 登录页面的异常列表,因为 Uber 可以轻松更改他们的页面,而我的应用程序不会有正确的异常。所以我决定试一试SFSafariViewController。
我可以使用SFSafariViewController 完成 OAuth2 过程,问题是当身份验证完成时,Uber 存储了某种类型的 cookie。如果我想验证一个不同的帐户并且我再次调出SFSafariViewController,cookie 是从之前的验证中提取的,并且没有机会验证另一个帐户。我通过NSHTTPCookieStorage 删除cookie 解决了这个问题UIWebView,但我看不到从SFSafariViewController 删除cookie 的方法。
【问题讨论】:
-
你解决了吗?我遇到了同样的问题。
-
我没有找到删除 cookie 的解决方案。我基本上更改了我的应用程序以在注销时撤销 OAuth 令牌,因此存储的 OAuth cookie 不再有效。