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