3

使用NSHTTPCookieStorage我想读取和设置 Safari 也用于Associated Domain与应用程序链接的全局 cookie

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

webcredentials:mydomain.com

我需要的是smth

cookies:mydomain.com

那么如何管理 cookieAssociated Domain呢?

4

2 回答 2

1

我不相信使用当前的 API 可以做到这一点。

确实,存在精确地要求此功能的雷达。

从我在 iOS 11 中看到的情况来看,当应用程序具有域关联并尝试打开SFSafariViewController实例时,系统会向用户询问许可,如果获得许可,则会将域的 cookie 传递给 Safari 视图控制器实例。(在 iOS 10 中,Safari 视图控制器与 Safari 共享所有 cookie。)此方法用于 Facebook 和 Google 应用程序等——它们提供 Safari 视图控制器以获取会话令牌,用于后续的网络访问。

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

于 2017-12-16T09:44:11.000 回答
0

文档说:

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

因此无法从 Safari 访问 cookie。

要访问与特定 URL 关联的本地应用程序 cookie,请使用以下方法

func cookies(for URL: URL) -> [HTTPCookie]?
于 2017-12-16T11:26:44.923 回答