管理关联域中域的cookie

时间:2017-10-20 10:07:53

标签: ios iphone cocoa-touch associated-domains

使用NSHTTPCookieStorage我想阅读并设置Safari也使用的全局Cookie,用于与应用链接的Associated Domain

然而,关联域上的文档非常稀疏,我发现只有共享凭据的文档 https://developer.apple.com/documentation/security/shared_web_credentials

webcredentials:mydomain.com

我需要的是像

一样
cookies:mydomain.com

以及如何管理Associated Domain的Cookie?

2 个答案:

答案 0 :(得分:1)

我认为使用当前的API无法做到这一点。

确实,雷达exist完全要求此功能。

根据我在iOS 11中看到的,当应用程序具有域关联并尝试打开append实例时,系统会要求用户许可,如果授予该权限,则会传递域的cookie到Safari视图控制器实例。 (在iOS 10中,Safari视图控制器与Safari共享所有cookie。)此方法用于Facebook和Google应用程序,其中包括Safari视图控制器以获取会话令牌,用于后续网络访问。

修改:上述功能似乎由SFAuthenticationSession处理。系统提示用户允许数据共享,并向Safari视图控制器显示提供的URL。您还提供了一个URL方案,打开的URL必须使用SSO令牌调用该方案。

答案 1 :(得分:0)

documentation说:

  

在iOS中的应用程序之间不共享Cookie。

因此无法从Safari访问Cookie。

要访问与特定网址相关联的本地应用Cookie,请使用this method

func cookies(for URL: URL) -> [HTTPCookie]?