FastAPI-Users: Полное погружение. SQLAlchemy + Access Token. Регистрация и Аутентификация

  Рет қаралды 2,706

Сурен Хоренян

Сурен Хоренян

Күн бұрын

Полное погружение в FastAPI-Users. От и до.
Ссылки:
Все мои ресурсы: taplink.cc/mahenzon
Канал и чат в Telegram: t.me/Khorenyan
- FastAPI-Users: fastapi-users.github.io/
- Исходный код: github.com/mahenzon/fastapi-u...
Отблагодарить и обеспечить монтаж роликов:
- через Т-Банк (Tinkoff) (без комиссии) tinkoff.ru/cf/6kbKWtKhapM
- бусти boosty.to/mahenzon
- sponsr sponsr.ru/suren/
- CloudTips pay.cloudtips.ru/p/9a8fa641
- Ролик про базовое приложение:
- KZfaq • Базовое приложение на ...
- ВКонтакте video-220000737_456239229
- RUTUBE rutube.ru/video/4b1af581f4cbc...
- Репо с базовым приложением: github.com/mahenzon/FastAPI-b...
- Ролики по JWT:
- KZfaq • JWT Auth в FastAPI | В...
- ВКонтакте video-220000737_456239168
- RUTUBE rutube.ru/video/ca5aa4d376ca7...
Метки:
00:00 О чем видео
01:35 Основа проекта
05:58 Установка FastAPI-Users
07:01 Знакомство с FastAPI-Users
09:53 Первичная настройка и подключение к БД
11:50 Модель User (пользователь) + id int pk
16:33 Миграция для таблицы users
19:13 Обертка SQLAlchemyUserDatabase
20:38 Бекенд и стратегия аутентификации, транспорт, хранение в базе
23:13 Транспорт аутентификаци
23:59 Токен аутентификации. Модель таблицы в БД
26:11 Тип идентификатора пользователя и связь токена
28:44 Модель AccessToken готова
30:12 Миграция для access tokens
35:05 Стратегия аутентификации по токену
38:32 Зависимости для пользователя и токена
42:30 Стратегия для работы с токеном
44:30 Бекенд для аутентификации
46:46 Менеджер пользователей
58:17 Схемы Pydantic для FastAPI-Users
59:47 Зависимость fastapi users для регистрации роутеров
01:02:07 Роутер для аутентификации пользователей
01:08:00 Первый запуск приложения
01:08:45 Конфигурирование пути на вход
01:11:13 Регистрация пользователей
01:14:11 Подключение к БД в PyCharm
01:15:23 Выпуск токена
01:16:15 Роутеры для просмотра деталей о пользователе
01:19:03 Выпуск токена через документацию и аутентификация пользователя токену
01:20:30 Зависимость HTTPBearer для удобного входа по токену
01:24:21 Выход (logout) пользователя
01:25:22 Время жизни токена
01:26:43 Получение информации о пользователе по id
01:28:23 Создание суперпользователя
01:35:39 Вход от имени суперпользователя
01:37:12 Представления для подтверждения учетки
01:40:47 JWT для подтверждения учетки
01:42:44 Сброс пароля пользователя
01:43:54 JWT для сброса пароля
01:45:50 Вход только для подтвержденных пользователей
01:46:56 Работа с аутентифицированным пользователем
01:52:12 Запросы к закрытым ресурсам от имени разных пользователей
01:55:12 Рефакторинг
01:56:50 Спасибо!

Пікірлер: 66
@eastwesser
@eastwesser 9 күн бұрын
Спасибо, Сурен! Отличный подарок к моему дню рождения, очень познавательный ролик-резюме по уже существующим роликам на канале 😄
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Круто, пожалуйста! Поздравляю! Рад, что вам понравилось 🥰
@efibutov
@efibutov 2 күн бұрын
Классная штука! Спасибо! Сейчас немногчо занят, но определённо хочу послушать - несмотря на имеющийся у меня опыт, тут несомненно будет чему поучиться. Спасибо, Сурен!
@SurenKhorenyan
@SurenKhorenyan 2 күн бұрын
Класс, пожалуйста! Пишите потом как посмотрите 🙂
@efibutov
@efibutov 2 күн бұрын
@@SurenKhorenyan Обязательно отпишусь. И снова - спасибо!
@variousxmedia
@variousxmedia 4 күн бұрын
Спасибо за уроки. Было бы интересно еще посмотреть реализацию под всего этого веб страницу тоже с шаблонами и тд., сделать админскую страницу например
@SurenKhorenyan
@SurenKhorenyan 4 күн бұрын
Веб страница это уже совсем про другое. Большой ролик про HTMX есть на канале. Про реактивные фреймворки говорить будем не скоро
@TS-ih4xb
@TS-ih4xb 8 күн бұрын
Сурен, мне нравится, как ты делаешь видео, как спокойно говоришь, контент у тебя топ. лучи поддержки тебе, чтобы не выгорел. было бы неплохо пройтись по Full Stack FastAPI Template, или рассказать про отличие celery и taskiq
@SurenKhorenyan
@SurenKhorenyan 8 күн бұрын
Спасибо! Может быть и пройдусь, закидывайте ссылки и темы в тг чате. А на бусти можно даже поднять приоритет темы 🙂
@optimizationguru
@optimizationguru 2 күн бұрын
Спасибо!
@SurenKhorenyan
@SurenKhorenyan Күн бұрын
Пожалуйста!
@artur.tokranov
@artur.tokranov 9 күн бұрын
Спасибо большое!!! Лайк с ходу поставил. Обязательно все буду изучать. Скоро буду делать проект с использованием FastAPI
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Пожалуйста! Круто, удачи!
@di.n.1906
@di.n.1906 9 күн бұрын
Увидел, сразу лайк)) Бабочка огонь :)
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Кайф, спасибо большое!
@OlgaGalanina
@OlgaGalanina 9 күн бұрын
Спасибо
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Пожалуйста!
@IvaNFallout
@IvaNFallout 9 күн бұрын
Спасибо, Сурен! Лайк за твое усердие и трудолюбие ✊
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Пожалуйста! Класс, спасибо большое 🥰
@igormatveev8355
@igormatveev8355 9 күн бұрын
Посмотрю позже Но за старание и годный материал лайк + коммент для продвижения видео сейчас(:
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Кайф, спасибо большое! Очень приятно 🥰
@andrewkuzmin4400
@andrewkuzmin4400 8 күн бұрын
Это конечно замечательно и прекрасно когда мы редко запускаем код (только на 1:08:25), но вот представьте, это видео смотрит новичок, он где-то в течении этого часа допустил какую-то ошибку и не заметил этого (не грамматическую, а, например, где-то лишние скобочки поставил) и выяснилось только в процессе запуска кода, когда код "не взлетел". Теперь вопрос, а какому шагу из этого часа ему откатываться чтобы понять что он не так сделал?
@SurenKhorenyan
@SurenKhorenyan 8 күн бұрын
Благодаря очень понятным, даже невероятно понятным описаниями ошибок в Python у желающего получится разобраться без каких-либо проблем 🙂
@karasik7015
@karasik7015 9 күн бұрын
супер, спасибо большое!
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Пожалуйста!
@ivanalexandrovsky1909
@ivanalexandrovsky1909 9 күн бұрын
я только-только эту часть сам дописал вчера 🤣 Спасибо большое за гайд!
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
хах. ну вот ролик почти два месяца провисел в монтаже, домонтировали только ночью 😅 Хорошо что вы сами смогли справиться!
@ivanalexandrovsky1909
@ivanalexandrovsky1909 9 күн бұрын
@@SurenKhorenyan да я ваш курс только на прошлой неделе начал, два дня назад прошлую серию только проходил))
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
удачи в освоении!
@ivanalexandrovsky1909
@ivanalexandrovsky1909 9 күн бұрын
@@SurenKhorenyan спасибо 🙏 хорошего вечера 😊
@SurenKhorenyan
@SurenKhorenyan 8 күн бұрын
@@ivanalexandrovsky1909 пожалуйста! и вам хорошего вечера 🥰
@shoplikov
@shoplikov 9 күн бұрын
Спасибо за видео
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Пожалуйста! 🥰
@ufc_uz6
@ufc_uz6 9 күн бұрын
Спасибо, Сурен❤
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Пожалуйста!
@romankarpenko9136
@romankarpenko9136 7 күн бұрын
Сурен, подскажи как ты сделать автозаполнение в терминале? В видео ты вводишь alemic и сразу терминал предлагает reviion и тд
@SurenKhorenyan
@SurenKhorenyan 7 күн бұрын
Это zsh autocomplete, показывал как настроить вот тут: kzfaq.info/get/bejne/b9qeqtKn2N_Gh5s.html
@romankarpenko9136
@romankarpenko9136 7 күн бұрын
@@SurenKhorenyan zsh на Linux можно установить?
@SurenKhorenyan
@SurenKhorenyan 7 күн бұрын
@@romankarpenko9136 да, конечно. Я там с zsh и познакомился
@Artem-sz4rc
@Artem-sz4rc 9 күн бұрын
Сурен, ты вроде говорил, что fastapi users уже устарела. Есть ли смысл использовать ее в своих проектах, если можно написать авторизацию самому?(у тебя как раз есть видео про jwt)
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Наверное, вы путаете с fastapi-jwt-auth - вот эта либа действительно устарела. FastAPI-Users активно поддерживается. Смотря что у вас за проект. Авторизацию и всё остальное, конечно, можно сделать и самостоятельно. Тут вопрос готовы ли вы вкладывать в это своё время
@vasopython1547
@vasopython1547 9 күн бұрын
ой спасибо ❤
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Пожалуйста! 😊
@denk2k
@denk2k 9 күн бұрын
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
@denk2k
@denk2k 9 күн бұрын
Это и про видео, и про бабочку))
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Кайф, спасибо большое 🤩🥰
@karasik7015
@karasik7015 9 күн бұрын
Сурен, а не планируешь видео по веб сокетам? или какие дальше планы? )
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Планирую, но будет не скоро. Детали про планы знают бустеры, присоединяйтесь к нашему скромному сообществу ☺️
@Legofrend
@Legofrend 5 күн бұрын
Спасибо за ваши видео! Есть вопрос. В другом курсе по FastAPI сказали, что в проде в реальных проектах FastAPI-users не используют. А что по вашему опыту?
@Legofrend
@Legofrend 5 күн бұрын
кстати, очень не хватает видео по современным методам аутентификации через сторонние сервисы. Например тот же яндекс. Как на практике создают таблицу users, с какими полями и как туда прокидывают ответы от яндекс API?
@SurenKhorenyan
@SurenKhorenyan 5 күн бұрын
Используют и очень активно. Всё зависит от компании
@SurenKhorenyan
@SurenKhorenyan 5 күн бұрын
​@@Legofrendкогда-нибудь будет про OAuth2, но не в ближайшее время. Ускорить можно через бусти 😊
@user-ff1sd6wl1h
@user-ff1sd6wl1h 9 күн бұрын
Мега хорош! А на реальных проектах часто используют эту библиотеку или пишут что-то кастомное?
@augustsionis6542
@augustsionis6542 9 күн бұрын
Не используют ее
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Спасибо! Нет, в реальных проектах FastAPI-Users не встречал. В реальных проектах используют отдельный доверенный сервис аутентификации / авторизации
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
@@augustsionis6542 ага, тоже не встречал
@_epicfail_8092
@_epicfail_8092 9 күн бұрын
Видео класс. Сурен, как на счет того чтобы записать видео на тему S3 ? Например МинИо
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Привет! Эта тема в планах, но пока не знаю, когда выйдет. Пока что на очереди другая тема, которую заказали бустеры. У вас есть шанс занять следующую позицию 🥰
@artyomklg915
@artyomklg915 9 күн бұрын
на вопрос о библиотеке fastapi-users видео должно занимать не 2 часа а 2 секунды, и надо сказать лишь "Не используйте это, пожалуйста"
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
Ахаха 🤣 А почему? Сталкивались уже? Какие сложности были?
@artyomklg915
@artyomklg915 9 күн бұрын
​@@SurenKhorenyan честно говоря мне лень всё описывать, если найду сообщение, где я это уже сделал скину сюда. А так можно подчеркнуть: 1) нет рефреша и впихнуть его туда ~= переписать всю аутентификацию проекта, => не имеет смысла 2) Противоречит идеологии микрофреймворка, тк является батарейкой, а нам такое не нужно, идите в джанго с этим 3) Ломает архитектуру проекта, своим юзер-менеджером, готовыми роутерамии кучей глобалов. В большом проекте эта хрень сломает условный ддд 4) Дальше лень
@SurenKhorenyan
@SurenKhorenyan 9 күн бұрын
@@artyomklg915 хорошо, спасибо!
@YuriyPogrebinsky
@YuriyPogrebinsky 8 күн бұрын
​@@artyomklg915а можно предложение альтернативы после столь разгромного описания минусов?
Как загрузить файлы в чат GPT?
2:44
GetBrand Studio
Рет қаралды 42 М.
THEY WANTED TO TAKE ALL HIS GOODIES 🍫🥤🍟😂
00:17
OKUNJATA
Рет қаралды 20 МЛН
Мы никогда не были так напуганы!
00:15
Аришнев
Рет қаралды 6 МЛН
Получилось у Вики?😂 #хабибка
00:14
ХАБИБ
Рет қаралды 7 МЛН
FastAPI JWT Tutorial | How to add User Authentication
20:27
Eric Roby
Рет қаралды 44 М.
Что такое Docker?
6:50
Merion Academy
Рет қаралды 281 М.
Аутентификация. Сессии и JWT
23:37
senior_zone
Рет қаралды 7 М.
JWT авторизация. Основы JWT - механизма.
6:45
Хочу вАйти
Рет қаралды 3,9 М.
FastAPI - Как использовать Depends #14
23:49
Артём Шумейко
Рет қаралды 15 М.
Хотела заскамить на Айфон!😱📱(@gertieinar)
0:21
Взрывная История
Рет қаралды 5 МЛН
ИГРОВОВЫЙ НОУТ ASUS ЗА 57 тысяч
25:33
Ремонтяш
Рет қаралды 343 М.
Игровой Комп с Авито за 4500р
1:00
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 2 МЛН