我知道SFSafariViewController
有私有cookie存储和其他实现。但是,我知道我们可以为每个(每个本机系统)Swift类编写一个扩展。
我需要与本机Safari共享Cookie,或者通过我的应用程序打开Safari
并提供一些标头请求。至少,如何创建API
来获取/设置cookie?
答案 0 :(得分:3)
在WWDC,Apple announced a change在Safari视图控制器中使用iOS 11的行为将不再在Safari View Controller的实例之间共享存储的数据(Cookie,本地存储等)。我们已经在内部确认了测试版本,这似乎是分支机构的independently confirmed。
来自AppAuth-iOS'repo:user whitehatguy
如果您需要执行自定义代码,请查看WKWebView(iOS> = 8)/ UIWebView(iOS< 8)。有用的答案:Getting cookies in WKWebView
创建SFAuthenticationSession以允许SSO / OAuth身份验证流程,该流程与本机Safari共享Cookie,但开发人员无法直接访问。
管理在Safari和应用程序之间共享一次性Web服务登录以及Cookie和网站数据的类,该类还可用于自动登录其他相关应用程序。
您将使用SFAuthenticationSession的两种情况是:
- 使用身份验证协议(例如OAuth)登录第三方的服务。此选项适用于社交网络应用程序。
- 为应用程序提供单点登录(SSO)体验。此选项适用于在同一设备上安装了许多应用程序的企业公司。
Apple的SFAuthenticationSession文档