tl; dr прочитайте последний абзац.
Я использую библиотеку AppAuth (https://github.com/openid/AppAuth-iOS)) для обработки аутентификации пользователей на основе OpenID, для которых я хочу предоставить SSO через свое приложение. Развертываниецелью моего приложения является iOS 11, что означает, что AppAuth внутренне использует SFAuthenticationSession
. Я использую поток авторизации, который означает, что пользователю предоставляется веб-страница входа через SFAuthenticationSession
. Когда пользователь заполняет и отправляет учетные данные SFAuthenticationSession
вызывает завершение с помощью URL (в случае успеха), с которого можно проанализировать авторизацию * 1008. * При авторизации code
запрос POST токена через URLSession
выполняется независимо от SFAuthenticationSession
и извлекается access_token
.
Весь поток успешен, включая получение access_token
, но когда я покидаю приложение и открываю веб-страницу профиля пользователя, предоставленную поставщиком услуг в Safari, пользователь не вошел в систему. Я протестировал тот же поток сУчетная запись Google (https://accounts.google.com) и SSO работали нормально, например, когда я открыл https://mail.google.com в Safari, у меня был логтак что у меня есть подозрение, что мой поставщик услуг делает что-то не так.Возможно, они не предоставили мне правильные возможности?Но прежде чем связаться с ними, я хочу исключить любую мою ошибку.Теперь моя самая непосредственная мысль заключается в том, что файлы cookie, связанные с сеансом, не сохраняются в Safari.Отсюда вытекает мой вопрос.
Мой вопрос.Запрос токена POST выполняется независимо от SFAuthenticationSession
(другой пользовательский агент), так как любые файлы cookie, связанные с сеансом, сохраняются на устройстве (Safari), если не через SFAuthenticationSession
?И есть ли способ отладки файлов cookie в коде?