SFAuthenticationSession не делится файлами cookie на реальных устройствах
Я использую AppAuth-iOS для единого входа. Все отлично работает на симуляторах ios 11, а SSO (совместное использование файлов cookie) не работает на реальных устройствах под управлением 11.0.0, 11.0.1, 11.0.2. Итак, SFAuthenticationSession не работает и есть ли какой-нибудь известный обходной путь?
1 ответ
Я также сталкиваюсь с той же проблемой и, основываясь на моих тестах и исследованиях, да, она не работает. SFAuthenticationSessions запоминают файлы cookie при запуске одного приложения, но не после перезапуска приложения или между несколькими приложениями (= SSO). Я провел серию тестов с iOS 11.1 beta 1 и Xcode 9.1 beta 1 со следующими результатами:
- Использование SFAuthenticationSession для первоначального входа в систему и во время того же запуска приложения, использование другого SFAuthenticationSession для проверки того, действителен ли вход в систему (на основе файлов cookie). Это работает хорошо.
- Перезапуск приложения и последующая попытка проверить состояние сеанса не будут работать, указывая, что файлы cookie не сохраняются.
- Использование системного Safari (с UIApplication.shared.openURL) для входа и использование SFAuthenticationSession впоследствии для проверки состояния входа. Это тоже не работает. Файлы cookie не передаются между Safari и SFAuthenticationSession.
- Использовал систему Safari, как при входе в систему, так и при проверке сессии, даже между несколькими запусками приложения Как и ожидалось, Safari все еще помнит свои собственные куки. Но они не являются общими.
Другая жалоба, которую я имею с SFAuthenticationSession - это использование целевого имени проекта, а не имени приложения для его всплывающего диалога.
Единственное продолжающееся обсуждение, которое я мог найти об этом, находится в этом сообщении Twitter: https://twitter.com/rmondello/status/887434621989789696. Я также подал отчет об ошибке, но с 5 сентября обновлений нет.