Я работаю над родным приложением Swift для iOS. Недавно я много читал об OAuth 2.0, включая этот ответ , немного RFC 6749 и несколько других руководств. Есть много комментариев о том, что использование встроенного веб-просмотра не является идеальным, потому что куки не могут быть защищены, следовательно, SFSafariViewController
и ASWebAuthenticationSession
.
Но я почти не видел разговоров о входе в систему без веб-просмотра / браузера, сбора учетных данных пользователя с помощью формы UIView
, использования предоставления учетных данных пароля владельца ресурса и отправки данных напрямую с помощью URLRequest
. Я создаю свое собственное приложение со своим собственным сервером ресурсов и собственным сервером аутентификации (или использую что-то вроде Auth0), которое обрабатывает только доступ к защищенным ресурсам моего приложения. Так что здесь все «очень доверяют». Но я видел такие уведомления, как следующие, касающиеся предоставления учетных данных для пароля владельца ресурса (с здесь ):
Сервер авторизации должен проявлять особую осторожность при включении этого
Предоставить тип и разрешить его только тогда, когда другие потоки нежизнеспособны.
Технически, использование другого потока «жизнеспособно» - я мог бы его построить. Использование внешнего пользовательского агента SFSafariViewController
или ASWebAuthenticationSession
по-прежнему обеспечивает преимущества безопасности, которые не могут быть сопоставлены с собственным входом в систему в этом сценарии?