ASWebAuthenticatioSession проблема согласия диалогового окна SSO
При использовании SFAuthenticationSession или ASWebAuthenticationSession пользователю в настоящее время предлагается давать согласие каждый раз, когда открывается окно.
В какой-то момент пользователь решает выйти из системы, и снова появляется сообщение UIAlert с просьбой дать согласие на вход.
Пользователь вошел в систему, пытается выйти, и ему предлагается дать свое согласие на вход, чтобы он мог выйти из системы.
Кроме того, при попытке открыть веб-страницу, требующую такой же аутентификации приложения с использованием ASWebAuthenticationSession, отображается диалоговое окно, а при использовании другого браузера, такого как SFSafariViewController, пользователь не аутентифицируется.
1 ответ
Если вы не хотите, чтобы диалоговое окно согласия отображалось, просто установите prefersEphemeralWebBrowserSession
верно на ASWebAuthenticationSession
объект. Установка для этого свойства значения true перед запуском сеанса обходит диалоговое окно, но также позволяет избежать единого входа (SSO). Если вы просто хотите войти в систему с помощью своего приложения, все в порядке, но если у вас также есть веб-сайт, поддерживающий ваше приложение, пользователю необходимо снова войти в систему. Свойство доступно в iOS 13 и выше.