TGViewer
Kotlin Adept Notes Kotlin Adept Notes @kotlin_adept · 2.43K subscribers
Post #236 3.31K
Особенности работы с OAuth 2.0 в KMP

Во многих мобильных приложениях аутентификация и авторизация пользователей происходят через протокол OAuth 2.0, который является индустриальным стандартом.

В нём предусмотрены различные флоу авторизации, и наиболее подходящим для мобильных приложений считается Authorization Code + PKCE. Этот флоу предотвращает перехват данных благодаря генерации временных параметров: codeChallenge и codeVerifier.

Я не сторонник использования сторонних неофициальных библиотек в целом, и тем более для такой критичной вещи, как аутентификация. А в мире KMP найти что-то подходящее ещё сложнее, поэтому часто приходится делать всё самому.

🤖 Android

Для Android в пакете androidx.browser появился очень удобный механизм AuthTabIntent, который берёт на себя почти всю работу, хотя и не без нюансов.

Если выбранный в системе браузер по умолчанию не поддерживает AuthTab, ничего работать не будет. А кроме Chrome и Firefox, насколько я знаю, его почти никто не поддерживает. Поэтому придётся либо явно указывать пакет браузера, либо делать fallback, если подходящего браузера нет.

🍏iOS

На iOS есть аналогичный удобный механизм ASWebAuthenticationSession. Но, как это часто бывает у Apple, не все фичи работают на старых версиях iOS. Например, редирект через https-схему (Universal Links) поддерживается только начиная с iOS 17.4, а на более ранних версиях придётся использовать кастомную схему. И в KMP это довольно сложно разграничить — приходится прибегать к чёрной магии чтобы исключать символы при загрузке фреймворка 🤨

⭐️Если тема для вас актуальна и нужен KMP-сэмпл, ставьте реакции и я постараюсь собрать полноценный пример.

#KMP #OAuth
  • 🔥 56
  • ❤ 4
  • 👎 2
  • 👍 1
More from @kotlin_adept
  1. Sep 26, 2026Полезные AI-тулзы для Android-разработчика На конференции обсудили разные AI-инструменты,…
  2. Sep 18, 2026Как подружить строгий Java-энтерпрайз со всеми ИИ изменениями? Сбер поможет разобраться 24…
  3. Sep 17, 2026Мифы и заблуждения в AI-разработке Забавно, как в мире AI-разработки постоянно появляются…
  4. Sep 15, 2026Тем временем мы с командой подготовили для вас новый сезон Podlodka Android Crew при подде…
  5. Sep 12, 2026Прошло уже более полугода с того момента, как я рассказывал вам о реализации Android-прило…
  6. Sep 2, 2026Если вы тоже городили костыли для поддержки смены системной темы внутри Compose Multiplatf…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →