FastAPI-Users: Полное погружение. SQLAlchemy + Access Token. Регистрация и Аутентификация
Ғылым және технология
Полное погружение в 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
- Ролик про базовое приложение:
- KZread • Базовое приложение на ...
- ВКонтакте video-220000737_456239229
- RUTUBE rutube.ru/video/4b1af581f4cbc...
- Репо с базовым приложением: github.com/mahenzon/FastAPI-b...
- Ролики по JWT:
- KZread • 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 Спасибо!
Пікірлер: 63
Спасибо, Сурен! Отличный подарок к моему дню рождения, очень познавательный ролик-резюме по уже существующим роликам на канале 😄
@SurenKhorenyan
5 күн бұрын
Круто, пожалуйста! Поздравляю! Рад, что вам понравилось 🥰
Спасибо за уроки. Было бы интересно еще посмотреть реализацию под всего этого веб страницу тоже с шаблонами и тд., сделать админскую страницу например
@SurenKhorenyan
2 сағат бұрын
Веб страница это уже совсем про другое. Большой ролик про HTMX есть на канале. Про реактивные фреймворки говорить будем не скоро
Сурен, мне нравится, как ты делаешь видео, как спокойно говоришь, контент у тебя топ. лучи поддержки тебе, чтобы не выгорел. было бы неплохо пройтись по Full Stack FastAPI Template, или рассказать про отличие celery и taskiq
@SurenKhorenyan
4 күн бұрын
Спасибо! Может быть и пройдусь, закидывайте ссылки и темы в тг чате. А на бусти можно даже поднять приоритет темы 🙂
Спасибо
@SurenKhorenyan
5 күн бұрын
Пожалуйста!
Спасибо большое!!! Лайк с ходу поставил. Обязательно все буду изучать. Скоро буду делать проект с использованием FastAPI
@SurenKhorenyan
5 күн бұрын
Пожалуйста! Круто, удачи!
Увидел, сразу лайк)) Бабочка огонь :)
@SurenKhorenyan
5 күн бұрын
Кайф, спасибо большое!
Спасибо, Сурен! Лайк за твое усердие и трудолюбие ✊
@SurenKhorenyan
5 күн бұрын
Пожалуйста! Класс, спасибо большое 🥰
Это конечно замечательно и прекрасно когда мы редко запускаем код (только на 1:08:25), но вот представьте, это видео смотрит новичок, он где-то в течении этого часа допустил какую-то ошибку и не заметил этого (не грамматическую, а, например, где-то лишние скобочки поставил) и выяснилось только в процессе запуска кода, когда код "не взлетел". Теперь вопрос, а какому шагу из этого часа ему откатываться чтобы понять что он не так сделал?
@SurenKhorenyan
4 күн бұрын
Благодаря очень понятным, даже невероятно понятным описаниями ошибок в Python у желающего получится разобраться без каких-либо проблем 🙂
Посмотрю позже Но за старание и годный материал лайк + коммент для продвижения видео сейчас(:
@SurenKhorenyan
5 күн бұрын
Кайф, спасибо большое! Очень приятно 🥰
Спасибо за видео
@SurenKhorenyan
5 күн бұрын
Пожалуйста! 🥰
Сурен, а не планируешь видео по веб сокетам? или какие дальше планы? )
@SurenKhorenyan
5 күн бұрын
Планирую, но будет не скоро. Детали про планы знают бустеры, присоединяйтесь к нашему скромному сообществу ☺️
супер, спасибо большое!
@SurenKhorenyan
5 күн бұрын
Пожалуйста!
Сурен, ты вроде говорил, что fastapi users уже устарела. Есть ли смысл использовать ее в своих проектах, если можно написать авторизацию самому?(у тебя как раз есть видео про jwt)
@SurenKhorenyan
5 күн бұрын
Наверное, вы путаете с fastapi-jwt-auth - вот эта либа действительно устарела. FastAPI-Users активно поддерживается. Смотря что у вас за проект. Авторизацию и всё остальное, конечно, можно сделать и самостоятельно. Тут вопрос готовы ли вы вкладывать в это своё время
Спасибо за ваши видео! Есть вопрос. В другом курсе по FastAPI сказали, что в проде в реальных проектах FastAPI-users не используют. А что по вашему опыту?
@Legofrend
20 сағат бұрын
кстати, очень не хватает видео по современным методам аутентификации через сторонние сервисы. Например тот же яндекс. Как на практике создают таблицу users, с какими полями и как туда прокидывают ответы от яндекс API?
@SurenKhorenyan
19 сағат бұрын
Используют и очень активно. Всё зависит от компании
@SurenKhorenyan
19 сағат бұрын
@@Legofrendкогда-нибудь будет про OAuth2, но не в ближайшее время. Ускорить можно через бусти 😊
Спасибо, Сурен❤
@SurenKhorenyan
5 күн бұрын
Пожалуйста!
Барев, Сурен. Скажи, а по чистой архитектуре в Fastapi будут ролики? Спасибо
@SurenKhorenyan
3 күн бұрын
Привет! Пока не планировал, в ближайшее время вряд ли будет
я только-только эту часть сам дописал вчера 🤣 Спасибо большое за гайд!
@SurenKhorenyan
5 күн бұрын
хах. ну вот ролик почти два месяца провисел в монтаже, домонтировали только ночью 😅 Хорошо что вы сами смогли справиться!
@ivanalexandrovsky1909
5 күн бұрын
@@SurenKhorenyan да я ваш курс только на прошлой неделе начал, два дня назад прошлую серию только проходил))
@SurenKhorenyan
5 күн бұрын
удачи в освоении!
@ivanalexandrovsky1909
5 күн бұрын
@@SurenKhorenyan спасибо 🙏 хорошего вечера 😊
@SurenKhorenyan
3 күн бұрын
@@ivanalexandrovsky1909 пожалуйста! и вам хорошего вечера 🥰
ой спасибо ❤
@SurenKhorenyan
5 күн бұрын
Пожалуйста! 😊
Сурен, подскажи как ты сделать автозаполнение в терминале? В видео ты вводишь alemic и сразу терминал предлагает reviion и тд
@SurenKhorenyan
3 күн бұрын
Это zsh autocomplete, показывал как настроить вот тут: kzread.info/dash/bejne/a6ii2dGvo9zIh8o.html
@romankarpenko9136
3 күн бұрын
@@SurenKhorenyan zsh на Linux можно установить?
@SurenKhorenyan
3 күн бұрын
@@romankarpenko9136 да, конечно. Я там с zsh и познакомился
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
@denk2k
5 күн бұрын
Это и про видео, и про бабочку))
@SurenKhorenyan
5 күн бұрын
Кайф, спасибо большое 🤩🥰
Видео класс. Сурен, как на счет того чтобы записать видео на тему S3 ? Например МинИо
@SurenKhorenyan
5 күн бұрын
Привет! Эта тема в планах, но пока не знаю, когда выйдет. Пока что на очереди другая тема, которую заказали бустеры. У вас есть шанс занять следующую позицию 🥰
Мега хорош! А на реальных проектах часто используют эту библиотеку или пишут что-то кастомное?
@augustsionis6542
5 күн бұрын
Не используют ее
@SurenKhorenyan
5 күн бұрын
Спасибо! Нет, в реальных проектах FastAPI-Users не встречал. В реальных проектах используют отдельный доверенный сервис аутентификации / авторизации
@SurenKhorenyan
5 күн бұрын
@@augustsionis6542 ага, тоже не встречал
на вопрос о библиотеке fastapi-users видео должно занимать не 2 часа а 2 секунды, и надо сказать лишь "Не используйте это, пожалуйста"
@SurenKhorenyan
5 күн бұрын
Ахаха 🤣 А почему? Сталкивались уже? Какие сложности были?
@artyomklg915
5 күн бұрын
@@SurenKhorenyan честно говоря мне лень всё описывать, если найду сообщение, где я это уже сделал скину сюда. А так можно подчеркнуть: 1) нет рефреша и впихнуть его туда ~= переписать всю аутентификацию проекта, => не имеет смысла 2) Противоречит идеологии микрофреймворка, тк является батарейкой, а нам такое не нужно, идите в джанго с этим 3) Ломает архитектуру проекта, своим юзер-менеджером, готовыми роутерамии кучей глобалов. В большом проекте эта хрень сломает условный ддд 4) Дальше лень
@SurenKhorenyan
5 күн бұрын
@@artyomklg915 хорошо, спасибо!
@YuriyPogrebinsky
3 күн бұрын
@@artyomklg915а можно предложение альтернативы после столь разгромного описания минусов?