Управление файлами cookie для домена в связанных доменах

С помощью NSHTTPCookieStorage я хочу прочитать и установить глобальные файлы cookie, которые Safari также использует для Associated Domain связано с приложением

Однако документ о связанных доменах довольно скудный, и я нашел только документ для общих учетных данных https://developer.apple.com/documentation/security/shared_web_credentials

webcredentials:mydomain.com

мне нужно что-то вроде

cookies:mydomain.com

так как управлять куки для Associated Domain ?

2 ответа

Решение

Я не верю, что это возможно при использовании текущего API.

Действительно, существуют радары, которые точно запрашивают эту функциональность.

Из того, что я видел в iOS 11, когда приложение связывает домен и пытается открыть SFSafariViewController Например, система запрашивает у пользователя разрешение, которое в случае предоставления передает куки-файлы домена экземпляру контроллера представления Safari. (В iOS 10 контроллер представления Safari делит все файлы cookie с Safari.) Этот метод используется, среди прочего, в приложениях Facebook и Google - они представляют контроллер представления Safari для получения токена сеанса, который они используют для последующего доступа к сети.

Редактировать: Кажется, что функциональность, описанная выше, обрабатывается SFAuthenticationSession, Система предлагает пользователю разрешить совместное использование данных, и контроллер представления Safari отображается с указанным URL-адресом. Вы также предоставляете схему URL, которую открытый URL должен вызывать с помощью токена SSO.

В документации сказано:

Файлы cookie не передаются между приложениями в iOS.

Таким образом, нет доступа к файлам cookie из Safari.

Чтобы получить доступ к локальным файлам cookie приложения, связанным с конкретным URL, используйте этот метод:

func cookies(for URL: URL) -> [HTTPCookie]?
Другие вопросы по тегам