FastAPI-Users: Полное погружение. SQLAlchemy + Access Token. Регистрация и Аутентификация
Vložit
- čas přidán 6. 07. 2024
- Полное погружение в 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
- Ролик про базовое приложение:
- CZcams • Базовое приложение на ...
- ВКонтакте video-220000737_456239229
- RUTUBE rutube.ru/video/4b1af581f4cbc...
- Репо с базовым приложением: github.com/mahenzon/FastAPI-b...
- Ролики по JWT:
- CZcams • 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 Спасибо! - Věda a technologie
Классная штука! Спасибо! Сейчас немногчо занят, но определённо хочу послушать - несмотря на имеющийся у меня опыт, тут несомненно будет чему поучиться. Спасибо, Сурен!
Класс, пожалуйста!
Пишите потом как посмотрите 🙂
@@SurenKhorenyan Обязательно отпишусь. И снова - спасибо!
Сурен, мне нравится, как ты делаешь видео, как спокойно говоришь, контент у тебя топ. лучи поддержки тебе, чтобы не выгорел.
было бы неплохо пройтись по Full Stack FastAPI Template, или рассказать про отличие celery и taskiq
Спасибо!
Может быть и пройдусь, закидывайте ссылки и темы в тг чате. А на бусти можно даже поднять приоритет темы 🙂
Спасибо, Сурен! Отличный подарок к моему дню рождения, очень познавательный ролик-резюме по уже существующим роликам на канале 😄
Круто, пожалуйста!
Поздравляю! Рад, что вам понравилось 🥰
Спасибо!
Спасибо за уроки. Было бы интересно еще посмотреть реализацию под всего этого веб страницу тоже с шаблонами и тд., сделать админскую страницу например
Веб страница это уже совсем про другое. Большой ролик про HTMX есть на канале. Про реактивные фреймворки говорить будем не скоро
Увидел, сразу лайк))
Бабочка огонь :)
Кайф, спасибо большое!
Спасибо большое!!! Лайк с ходу поставил. Обязательно все буду изучать. Скоро буду делать проект с использованием FastAPI
Пожалуйста! Круто, удачи!
Спасибо
Пожалуйста!
Спасибо, Сурен!
Лайк за твое усердие и трудолюбие ✊
Пожалуйста!
Класс, спасибо большое 🥰
Это конечно замечательно и прекрасно когда мы редко запускаем код (только на 1:08:25), но вот представьте, это видео смотрит новичок, он где-то в течении этого часа допустил какую-то ошибку и не заметил этого (не грамматическую, а, например, где-то лишние скобочки поставил) и выяснилось только в процессе запуска кода, когда код "не взлетел". Теперь вопрос, а какому шагу из этого часа ему откатываться чтобы понять что он не так сделал?
Благодаря очень понятным, даже невероятно понятным описаниями ошибок в Python у желающего получится разобраться без каких-либо проблем 🙂
Посмотрю позже
Но за старание и годный материал лайк + коммент для продвижения видео сейчас(:
Кайф, спасибо большое! Очень приятно 🥰
супер, спасибо большое!
Пожалуйста!
Сурен, а не планируешь видео по веб сокетам? или какие дальше планы? )
Планирую, но будет не скоро. Детали про планы знают бустеры, присоединяйтесь к нашему скромному сообществу ☺️
Спасибо за видео
Пожалуйста! 🥰
Спасибо, Сурен❤
Пожалуйста!
я только-только эту часть сам дописал вчера 🤣 Спасибо большое за гайд!
хах. ну вот ролик почти два месяца провисел в монтаже, домонтировали только ночью 😅
Хорошо что вы сами смогли справиться!
@@SurenKhorenyan да я ваш курс только на прошлой неделе начал, два дня назад прошлую серию только проходил))
удачи в освоении!
@@SurenKhorenyan спасибо 🙏 хорошего вечера 😊
@@ivanalexandrovsky1909 пожалуйста! и вам хорошего вечера 🥰
ой спасибо ❤
Пожалуйста! 😊
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
Это и про видео, и про бабочку))
Кайф, спасибо большое 🤩🥰
Сурен, ты вроде говорил, что fastapi users уже устарела. Есть ли смысл использовать ее в своих проектах, если можно написать авторизацию самому?(у тебя как раз есть видео про jwt)
Наверное, вы путаете с fastapi-jwt-auth - вот эта либа действительно устарела. FastAPI-Users активно поддерживается.
Смотря что у вас за проект. Авторизацию и всё остальное, конечно, можно сделать и самостоятельно. Тут вопрос готовы ли вы вкладывать в это своё время
Спасибо за ваши видео!
Есть вопрос. В другом курсе по FastAPI сказали, что в проде в реальных проектах FastAPI-users не используют. А что по вашему опыту?
кстати, очень не хватает видео по современным методам аутентификации через сторонние сервисы. Например тот же яндекс. Как на практике создают таблицу users, с какими полями и как туда прокидывают ответы от яндекс API?
Используют и очень активно. Всё зависит от компании
@@Legofrendкогда-нибудь будет про OAuth2, но не в ближайшее время. Ускорить можно через бусти 😊
Сурен, подскажи как ты сделать автозаполнение в терминале? В видео ты вводишь alemic и сразу терминал предлагает reviion и тд
Это zsh autocomplete, показывал как настроить вот тут: czcams.com/video/9tnwovsybWg/video.html
@@SurenKhorenyan zsh на Linux можно установить?
@@romankarpenko9136 да, конечно. Я там с zsh и познакомился
Видео класс. Сурен, как на счет того чтобы записать видео на тему S3 ? Например МинИо
Привет! Эта тема в планах, но пока не знаю, когда выйдет. Пока что на очереди другая тема, которую заказали бустеры. У вас есть шанс занять следующую позицию 🥰
Мега хорош! А на реальных проектах часто используют эту библиотеку или пишут что-то кастомное?
Не используют ее
Спасибо!
Нет, в реальных проектах FastAPI-Users не встречал. В реальных проектах используют отдельный доверенный сервис аутентификации / авторизации
@@augustsionis6542 ага, тоже не встречал
на вопрос о библиотеке fastapi-users видео должно занимать не 2 часа а 2 секунды, и надо сказать лишь "Не используйте это, пожалуйста"
Ахаха 🤣
А почему? Сталкивались уже? Какие сложности были?
@@SurenKhorenyan честно говоря мне лень всё описывать, если найду сообщение, где я это уже сделал скину сюда. А так можно подчеркнуть:
1) нет рефреша и впихнуть его туда ~= переписать всю аутентификацию проекта, => не имеет смысла
2) Противоречит идеологии микрофреймворка, тк является батарейкой, а нам такое не нужно, идите в джанго с этим
3) Ломает архитектуру проекта, своим юзер-менеджером, готовыми роутерамии кучей глобалов. В большом проекте эта хрень сломает условный ддд
4) Дальше лень
@@artyomklg915 хорошо, спасибо!
@@artyomklg915а можно предложение альтернативы после столь разгромного описания минусов?