Выбор ответа Middle Безопасность мобильных приложений обновлено
OAuth в мобильном приложении
Вопрос
Как правильно реализовать вход через OAuth 2.0 в мобильном приложении?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Authorization Code с PKCE через системный браузер (ASWebAuthenticationSession, Custom Tabs). RFC 8252 (OAuth для нативных приложений) рекомендует системный браузер: пользователь видит настоящий адрес, у приложения нет доступа к паролю, работают сохранённые сессии.
Варианты ответа
- Implicit flow во встроенном WebView: токен сразу приходит в приложение без лишнего обмена кода
- Authorization Code с PKCE через системный браузер (
ASWebAuthenticationSession, Custom Tabs)правильный ответ - Попросить у пользователя пароль от стороннего сервиса и обменять его на токен на своём сервере
- Authorization Code с client secret, зашитым в приложение и защищённым обфускацией строк
Разбор
RFC 8252 (OAuth для нативных приложений) рекомендует системный браузер: пользователь видит настоящий адрес, у приложения нет доступа к паролю, работают сохранённые сессии. PKCE защищает код авторизации от перехвата другим приложением. Implicit flow устарел, WebView позволяет приложению подсмотреть пароль. Client secret в приложении не секрет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.