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

Sdílet
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

Komentáře • 65

  • @efibutov
    @efibutov Před 18 hodinami +1

    Классная штука! Спасибо! Сейчас немногчо занят, но определённо хочу послушать - несмотря на имеющийся у меня опыт, тут несомненно будет чему поучиться. Спасибо, Сурен!

    • @SurenKhorenyan
      @SurenKhorenyan  Před 10 hodinami +1

      Класс, пожалуйста!
      Пишите потом как посмотрите 🙂

    • @efibutov
      @efibutov Před 6 hodinami +1

      @@SurenKhorenyan Обязательно отпишусь. И снова - спасибо!

  • @TS-ih4xb
    @TS-ih4xb Před 6 dny +2

    Сурен, мне нравится, как ты делаешь видео, как спокойно говоришь, контент у тебя топ. лучи поддержки тебе, чтобы не выгорел.
    было бы неплохо пройтись по Full Stack FastAPI Template, или рассказать про отличие celery и taskiq

    • @SurenKhorenyan
      @SurenKhorenyan  Před 6 dny

      Спасибо!
      Может быть и пройдусь, закидывайте ссылки и темы в тг чате. А на бусти можно даже поднять приоритет темы 🙂

  • @eastwesser
    @eastwesser Před 7 dny +4

    Спасибо, Сурен! Отличный подарок к моему дню рождения, очень познавательный ролик-резюме по уже существующим роликам на канале 😄

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny +1

      Круто, пожалуйста!
      Поздравляю! Рад, что вам понравилось 🥰

  • @optimizationguru
    @optimizationguru Před 12 hodinami

    Спасибо!

  • @variousxmedia
    @variousxmedia Před 2 dny +1

    Спасибо за уроки. Было бы интересно еще посмотреть реализацию под всего этого веб страницу тоже с шаблонами и тд., сделать админскую страницу например

    • @SurenKhorenyan
      @SurenKhorenyan  Před 2 dny

      Веб страница это уже совсем про другое. Большой ролик про HTMX есть на канале. Про реактивные фреймворки говорить будем не скоро

  • @di.n.1906
    @di.n.1906 Před 7 dny +2

    Увидел, сразу лайк))
    Бабочка огонь :)

  • @artur.tokranov
    @artur.tokranov Před 7 dny +1

    Спасибо большое!!! Лайк с ходу поставил. Обязательно все буду изучать. Скоро буду делать проект с использованием FastAPI

  • @OlgaGalanina
    @OlgaGalanina Před 7 dny +3

    Спасибо

  • @IvaNFallout
    @IvaNFallout Před 7 dny +1

    Спасибо, Сурен!
    Лайк за твое усердие и трудолюбие ✊

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny

      Пожалуйста!
      Класс, спасибо большое 🥰

  • @andrewkuzmin4400
    @andrewkuzmin4400 Před 6 dny +1

    Это конечно замечательно и прекрасно когда мы редко запускаем код (только на 1:08:25), но вот представьте, это видео смотрит новичок, он где-то в течении этого часа допустил какую-то ошибку и не заметил этого (не грамматическую, а, например, где-то лишние скобочки поставил) и выяснилось только в процессе запуска кода, когда код "не взлетел". Теперь вопрос, а какому шагу из этого часа ему откатываться чтобы понять что он не так сделал?

    • @SurenKhorenyan
      @SurenKhorenyan  Před 6 dny +1

      Благодаря очень понятным, даже невероятно понятным описаниями ошибок в Python у желающего получится разобраться без каких-либо проблем 🙂

  • @igormatveev8355
    @igormatveev8355 Před 7 dny +1

    Посмотрю позже
    Но за старание и годный материал лайк + коммент для продвижения видео сейчас(:

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny

      Кайф, спасибо большое! Очень приятно 🥰

  • @karasik7015
    @karasik7015 Před 7 dny +1

    супер, спасибо большое!

  • @karasik7015
    @karasik7015 Před 7 dny +2

    Сурен, а не планируешь видео по веб сокетам? или какие дальше планы? )

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny

      Планирую, но будет не скоро. Детали про планы знают бустеры, присоединяйтесь к нашему скромному сообществу ☺️

  • @shoplikov
    @shoplikov Před 7 dny +1

    Спасибо за видео

  • @ufc_uz6
    @ufc_uz6 Před 7 dny +1

    Спасибо, Сурен❤

  • @ivanalexandrovsky1909
    @ivanalexandrovsky1909 Před 7 dny +1

    я только-только эту часть сам дописал вчера 🤣 Спасибо большое за гайд!

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny

      хах. ну вот ролик почти два месяца провисел в монтаже, домонтировали только ночью 😅
      Хорошо что вы сами смогли справиться!

    • @ivanalexandrovsky1909
      @ivanalexandrovsky1909 Před 7 dny +1

      @@SurenKhorenyan да я ваш курс только на прошлой неделе начал, два дня назад прошлую серию только проходил))

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny

      удачи в освоении!

    • @ivanalexandrovsky1909
      @ivanalexandrovsky1909 Před 7 dny +1

      @@SurenKhorenyan спасибо 🙏 хорошего вечера 😊

    • @SurenKhorenyan
      @SurenKhorenyan  Před 5 dny +1

      @@ivanalexandrovsky1909 пожалуйста! и вам хорошего вечера 🥰

  • @vasopython1547
    @vasopython1547 Před 7 dny +1

    ой спасибо ❤

  • @denk2k
    @denk2k Před 7 dny +1

    🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥

    • @denk2k
      @denk2k Před 7 dny +1

      Это и про видео, и про бабочку))

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny +1

      Кайф, спасибо большое 🤩🥰

  • @Artem-sz4rc
    @Artem-sz4rc Před 7 dny +2

    Сурен, ты вроде говорил, что fastapi users уже устарела. Есть ли смысл использовать ее в своих проектах, если можно написать авторизацию самому?(у тебя как раз есть видео про jwt)

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny +2

      Наверное, вы путаете с fastapi-jwt-auth - вот эта либа действительно устарела. FastAPI-Users активно поддерживается.
      Смотря что у вас за проект. Авторизацию и всё остальное, конечно, можно сделать и самостоятельно. Тут вопрос готовы ли вы вкладывать в это своё время

  • @Legofrend
    @Legofrend Před 2 dny +1

    Спасибо за ваши видео!
    Есть вопрос. В другом курсе по FastAPI сказали, что в проде в реальных проектах FastAPI-users не используют. А что по вашему опыту?

    • @Legofrend
      @Legofrend Před 2 dny +1

      кстати, очень не хватает видео по современным методам аутентификации через сторонние сервисы. Например тот же яндекс. Как на практике создают таблицу users, с какими полями и как туда прокидывают ответы от яндекс API?

    • @SurenKhorenyan
      @SurenKhorenyan  Před 2 dny

      Используют и очень активно. Всё зависит от компании

    • @SurenKhorenyan
      @SurenKhorenyan  Před 2 dny

      ​@@Legofrendкогда-нибудь будет про OAuth2, но не в ближайшее время. Ускорить можно через бусти 😊

  • @romankarpenko9136
    @romankarpenko9136 Před 5 dny +1

    Сурен, подскажи как ты сделать автозаполнение в терминале? В видео ты вводишь alemic и сразу терминал предлагает reviion и тд

    • @SurenKhorenyan
      @SurenKhorenyan  Před 5 dny

      Это zsh autocomplete, показывал как настроить вот тут: czcams.com/video/9tnwovsybWg/video.html

    • @romankarpenko9136
      @romankarpenko9136 Před 5 dny +1

      @@SurenKhorenyan zsh на Linux можно установить?

    • @SurenKhorenyan
      @SurenKhorenyan  Před 5 dny

      @@romankarpenko9136 да, конечно. Я там с zsh и познакомился

  • @_epicfail_8092
    @_epicfail_8092 Před 7 dny +1

    Видео класс. Сурен, как на счет того чтобы записать видео на тему S3 ? Например МинИо

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny

      Привет! Эта тема в планах, но пока не знаю, когда выйдет. Пока что на очереди другая тема, которую заказали бустеры. У вас есть шанс занять следующую позицию 🥰

  • @user-ff1sd6wl1h
    @user-ff1sd6wl1h Před 7 dny +1

    Мега хорош! А на реальных проектах часто используют эту библиотеку или пишут что-то кастомное?

    • @augustsionis6542
      @augustsionis6542 Před 7 dny +2

      Не используют ее

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny

      Спасибо!
      Нет, в реальных проектах FastAPI-Users не встречал. В реальных проектах используют отдельный доверенный сервис аутентификации / авторизации

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny

      @@augustsionis6542 ага, тоже не встречал

  • @artyomklg915
    @artyomklg915 Před 7 dny +1

    на вопрос о библиотеке fastapi-users видео должно занимать не 2 часа а 2 секунды, и надо сказать лишь "Не используйте это, пожалуйста"

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny

      Ахаха 🤣
      А почему? Сталкивались уже? Какие сложности были?

    • @artyomklg915
      @artyomklg915 Před 7 dny +3

      ​@@SurenKhorenyan честно говоря мне лень всё описывать, если найду сообщение, где я это уже сделал скину сюда. А так можно подчеркнуть:
      1) нет рефреша и впихнуть его туда ~= переписать всю аутентификацию проекта, => не имеет смысла
      2) Противоречит идеологии микрофреймворка, тк является батарейкой, а нам такое не нужно, идите в джанго с этим
      3) Ломает архитектуру проекта, своим юзер-менеджером, готовыми роутерамии кучей глобалов. В большом проекте эта хрень сломает условный ддд
      4) Дальше лень

    • @SurenKhorenyan
      @SurenKhorenyan  Před 7 dny +1

      @@artyomklg915 хорошо, спасибо!

    • @YuriyPogrebinsky
      @YuriyPogrebinsky Před 6 dny

      ​@@artyomklg915а можно предложение альтернативы после столь разгромного описания минусов?