У меня есть приложение iOS, которое аутентифицируется с помощью Uber API, используя OAuth2 в файле UIWebView
. При обновлении до iOS 9 я столкнулся с проблемой блокировки ATS запроса https для страницы входа. Затем я добавил исключение для страницы входа в Uber, но затем заметил, что страница входа делает несколько других запросов к Facebook, Amazon Web Services и другим веб-сайтам, и все они блокируются ATS.
Я не хочу вести список исключений для страницы входа в Uber, поскольку Uber может легко изменить свою страницу, и в моем приложении не будет правильных исключений. Поэтому я решил попробовать SFSafariViewController
.
Я могу завершить процесс OAuth2 с помощью SFSafariViewController
, проблема в том, что после завершения аутентификации Uber сохраняет какой-то тип файла cookie. Если я хочу аутентифицировать другую учетную запись и снова вывожу SFSafariViewController
, файл cookie берется из предыдущей аутентификации, и нет возможности аутентифицировать другую учетную запись. Я обошел это с помощью UIWebView
, удалив файл cookie через NSHTTPCookieStorage
, но я не вижу способа удалить файл cookie из SFSafariViewController
.