OAuth в мобильных приложениях

  Рет қаралды 10,976

Android Broadcast. Все об Андроид разработке

Android Broadcast. Все об Андроид разработке

Күн бұрын

Узнаете про то как правильно реализовать OAuth на Android, какие есть подходы, почему лучше не использовать SDK и увидите live coding авторизации GitHub для Android.
👨‍🎓 Эксперт - Мялкин Максим, руководитель мобильной разработки в KTS
🔗 Telegram канал "Android Broadcast" ttttt.me/android_broadcast
💰 Поддержать проект на Boosty boosty.to/androidbroadcast
🔗 Чат сообщества в Telegram ttttt.me/android_broadcast_talks
🔗 Telegram канал "Kotlin Broadcast" ttttt.me/kotlin_broadcast
🔗 База про OAuth habr.com/ru/company/flant/blo...
🔗 Техническое пояснение про OAuth habr.com/ru/company/vk/blog/1...
🔗 Код из примера на GitHub github.com/MaxMyalkin/android...
🔗 Статья на Habr про OAuth в Android cutt.ly/bXwSaav
🔗 Статья на Habr про OAuth в iOS cutt.ly/bXwSaav
🔗 Слайды speakerdeck.com/androidbroadc...
00:00 Про доклад
00:54 Структура доклада
01:20 Чего не будет рассматривать в докладе
01:44 Базовые сценарии авторизации
02:30 Authorization Code Flow with PKCE
03:23 Базовый сценарий
05:20 Проблемы
06:39 Отличия базового и PKCE сценариев
08:55 Решение проблемы через PKCE
10:39 Нюансы реализации
10:57 Способы открытия страницы логина
11:07 Логин через WebView
13:24 Логин через браузер
14:18 Логин через Chrome Custom Tabs
15:42 Особенности редиректа в Chrome
17:07 Логин когда браузера не установлен
17:35 Обновление токенов
17:51 Что нужно сделать при логауте
19:20 Авторизация через SDK
20:34 Собственная реализация авторизации
21:07 Авторизация с помощью OAuth библиотек
23:09 Кодинг. Пример реализации
37:50 Логаут
39:46 Обновление токена
40:41 Выводы
41:27 Заключение
#androiddev #android #программирование #kotlin #КириллРозов #андроид #AndroidBroadcast

Пікірлер: 26
@vitalijuskolinko9011
@vitalijuskolinko9011 Жыл бұрын
Привет, Максим! Наконец-то ты вернулся! ❤ OAuth'у научился ещё с времен учёбы на skillbox блягодаря твоему уроку ;) Реализовал для авторизации с Unsplash сервисом. Было приятно посмотреть и вспомнить некоторые моменты (особенно насчёт PKCE и logout). Смотрю, обновил свою реализацию - добавил suspendCoroutine и Flow с каналами) 😎👍 Спасибо за все твои видео! Почаще выходи в эфир 😎
@user-yg6fe2bs9u
@user-yg6fe2bs9u Жыл бұрын
Отличная презентация! Спасибо за доклад
@user-ok3xn3vx3h
@user-ok3xn3vx3h Жыл бұрын
На мой взгляд, это лучший доклад по этой теме на ютюбе. Спасибо автору. Разобрался, наконец, как подключить Keycloak OAuth к мобильному приложению!!!
@troy_brox
@troy_brox Жыл бұрын
Такая ценная и объемная информация понятным языком - это находка. Спасибо автору за качественный доклад!
@devit4910
@devit4910 Жыл бұрын
Спасибо за контент!
@user-qk5xz6sh9v
@user-qk5xz6sh9v Жыл бұрын
Очень интересный доклад, использую OAuth в своем приложении, из доклада узнал много нового по реализации!
@user-ug5ho3hb9m
@user-ug5ho3hb9m Жыл бұрын
Вот прям ОЧЕНЬ полезно! Круто!
@chikishev
@chikishev Жыл бұрын
Доклад пушка 💯
@f.uckeng
@f.uckeng Жыл бұрын
оооо, Максим Мялкин! сколько лет, сколько зим) даже соскучился по тебе и твоим урокам. Жаль, что ты больше не ведешь курсы в Skillbox. крутой подход)
@user-er9hm8ys3f
@user-er9hm8ys3f Жыл бұрын
Спасибо за позитивный фидбек)
@vitalijuskolinko9011
@vitalijuskolinko9011 Жыл бұрын
Максим - наш анкл Боб ;)
@alexiachimov9817
@alexiachimov9817 Жыл бұрын
Отличный доклад!
@nikitamityushov7270
@nikitamityushov7270 Жыл бұрын
Круто!
@mikhailnt
@mikhailnt Жыл бұрын
круто)
@coffemilk652
@coffemilk652 Жыл бұрын
Понравилось подробное объяснение
@cogidtjr
@cogidtjr 7 ай бұрын
Good!!
@Ashimoro
@Ashimoro Жыл бұрын
Спасибо! А как тогда быть, если в google-cloud-platform нельзя задавать кастомные редирект схемы, а https перехватывается браузером?
@user-ke3jt3uh3m
@user-ke3jt3uh3m Жыл бұрын
Очень крутое видео, огромное спасибо автору! Есть небольшой вопрос, как и просил автор) Исходные данные: coroutines, okHttpClient + Retorift, обновление токена происходит в Authenticator классе. Вопрос: Как гарантировать обновление токена только один раз, если в приложении есть параллельные запросы на бэк?
@user-ke3jt3uh3m
@user-ke3jt3uh3m Жыл бұрын
Ну собственно в примере кода из описания есть такое обновление, если кому интересно. Спасибо автору еще раз)
@olegleonov1310
@olegleonov1310 Жыл бұрын
Шикарно, но добавлю, что CLIENT_ID и CLIENT_SECRET в реальном приложении должны храниться отдельно от репозитария в property файле и передаваться между разработчиками через защищённые мессенджеры и хранилища, например Keybase, а для CI/CD получаться из environment.
@v.yundin
@v.yundin Жыл бұрын
А что это даёт? Они же всё равно в apk в открытом виде будут лежать
@olegleonov1310
@olegleonov1310 Жыл бұрын
@@v.yundin Это позволяет исключить получение ключей, если кто-то получит доступ к исходникам в репозитарии. Один из уровней безопасности. Для того чтобы из APK не достали используют другие методы, конечно)
@vitalijuskolinko9011
@vitalijuskolinko9011 Жыл бұрын
А где токен лучше хранить, который достаем при request exchange?
@VtShabanoff
@VtShabanoff Жыл бұрын
Максим. Почему в скиллбокс нету этой темы😁😁😁😁😁
@vitalijuskolinko9011
@vitalijuskolinko9011 Жыл бұрын
Есть - тема Retrofit )))
@rustam7493
@rustam7493 Жыл бұрын
эх, не реализован метод unauthorizedHandler.onUnauthorized() - было бы интересно посмотреть, как с Дата-слоя на UI-слой корректно такие действия вызывать.
How Retrofit works. Java Dynamic Proxy. Library architecture [RU]
29:24
Android Broadcast. Все об Андроид разработке
Рет қаралды 19 М.
Советы по уведомлениям в Android
25:15
Android Broadcast. Все об Андроид разработке
Рет қаралды 9 М.
لقد سرقت حلوى القطن بشكل خفي لأصنع مصاصة🤫😎
00:33
Cool Tool SHORTS Arabic
Рет қаралды 29 МЛН
Идеально повторил? Хотите вторую часть?
00:13
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 11 МЛН
路飞太过分了,自己游泳。#海贼王#路飞
00:28
路飞与唐舞桐
Рет қаралды 39 МЛН
Разработка приложения-компаньона с Bluetooth для Flipper Zero
50:58
Android Broadcast. Все об Андроид разработке
Рет қаралды 17 М.
Что внутри APK. App Bundle. Google Play Dynamic Feature
14:31
Android Broadcast. Все об Андроид разработке
Рет қаралды 9 М.
An Illustrated Guide to OAuth and OpenID Connect
16:36
OktaDev
Рет қаралды 573 М.
Binder - как устроена работа с несколькими процессами в Android
56:44
Android Broadcast. Все об Андроид разработке
Рет қаралды 26 М.
Как запускать задачи в фоне на Android. РАЗБОР
26:42
Android Broadcast. Все об Андроид разработке
Рет қаралды 5 М.
Налог на незнание JavaScript - [Hamster Kombat]
50:20
OAuth 2.0 explained with examples
10:03
ByteMonk
Рет қаралды 116 М.
Android NDK. Как писать под Android на C++
40:33
Android Broadcast. Все об Андроид разработке
Рет қаралды 20 М.