JWT Auth в FastAPI | Выпуск и проверка токена | Пароль и шифрование через bcrypt

Поделиться
HTML-код
  • Опубликовано: 27 дек 2024

Комментарии • 148

  • @sinsinegobaffa7321
    @sinsinegobaffa7321 9 месяцев назад +6

    Если бы не ты и этот замечательный плейлист, я не знаю что бы я делал с дипломом, посмотрел все ролики по нескольку раз, и пишу параллельно апку, ты как научрук))) спасибо!)

    • @SurenKhorenyan
      @SurenKhorenyan  9 месяцев назад +1

      Крутяк! Я рад, что вам помогло

  • @cherdak_turista
    @cherdak_turista Год назад +11

    Сурен, добрый вечер! Спасибо за качественные видео! Пожалуйста, не останавливайся) У тебя талант

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад +6

      Добрый вечер. Пожалуйста!
      Очень приятно. Останавливаться не планирую ☺

  • @AlexanderITandEng
    @AlexanderITandEng 4 месяца назад +5

    Сурен, Вы просто легенда. Спасибо вам за такие информативные ролики, где вы показываете не только как сделать, но и как принято/правильно делать. Тем самым создается отличная база знаний для разработчика и он не будет белой вороной в команде. Спасибо Вам!! Продолжайте в том же духе💪💪💪

    • @SurenKhorenyan
      @SurenKhorenyan  4 месяца назад +2

      @@AlexanderITandEng кайф, пожалуйста! Очень приятно, я рад 🥰
      Спасибо за теплые слова 😊

  • @Alex-zl7wg
    @Alex-zl7wg 3 месяца назад +2

    Превосходная подача материала! Всё подробно и в то же время ничего лишнего. Преподавать ваше призвание! Спасибо за курс.

  • @saitaro
    @saitaro Год назад +5

    Я осилил этот плейлист, и теперь знаю всё о программировании! Сурен меня всему научил. Спасибо, Сурен!

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад +5

      Крутяк, пожалуйста!
      Конечно, до знания всего ещё долго добираться, да и нужно не только посмотреть, а ещё и написать это своими руками, но круто, что вы осилили все видео!

  • @sayomortal
    @sayomortal 5 месяцев назад +2

    Блин, у тебя просто офигенная подача материала, все по делу, с нужными пояснениями, без инфоцыганства. Рад, что вышел на этот канал

    • @SurenKhorenyan
      @SurenKhorenyan  5 месяцев назад

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

  • @helloiveqw5290
    @helloiveqw5290 4 месяца назад +2

    Очень классное и понятное видео. Мне как человеку который долгую часть времени изучал плюсы приятно что везде указываются типы данных так как в других видео просто переменные и что где и как хранится не понятно)

    • @SurenKhorenyan
      @SurenKhorenyan  4 месяца назад

      @@helloiveqw5290 кайф! Я рад, что вам понравилось 🥰
      Спасибо

  • @antonmislawsky
    @antonmislawsky 9 месяцев назад +1

    Классные уроки очень высокого уровня без воды
    спасибо

    • @SurenKhorenyan
      @SurenKhorenyan  9 месяцев назад

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

  • @Viktor-b3k
    @Viktor-b3k Год назад +2

    Это лучший материал по auth который мне попался. Наверно, благодаря лучшему автору!

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

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

  • @Alex89muller
    @Alex89muller 5 месяцев назад +1

    Сурен, Спасибо за видео! Очень круто. Правда на замедленной перемотки приходится смотреть - очень быстро. В остальном объяснения прям супер.

    • @SurenKhorenyan
      @SurenKhorenyan  5 месяцев назад +1

      Пожалуйста!
      Хах. И так стараюсь медленнее говорить.. 😅 ещё тренируюсь

    • @Alex89muller
      @Alex89muller 5 месяцев назад +1

      @@SurenKhorenyan 😂🤷‍♂️

  • @АнтонКородян
    @АнтонКородян 4 месяца назад +1

    Спасибо вам большое за такой детальный материал,
    перехожу с django и скажу разница существенная.

  • @yurypaulouski
    @yurypaulouski 9 месяцев назад +1

    Сурен, спасибо большое за проделанную работу! Очень полезно и крайне детально.
    Планируете ли продолжение этой серии? Думаю, там есть еще очень моногое, о чём можно рассказать.

    • @SurenKhorenyan
      @SurenKhorenyan  9 месяцев назад +1

      Пожалуйста!
      Да, продолжение обязательно будет. Возможно, успею весной ещё пару роликов по теме выпустить

  • @mukhamedzhumabekoff7642
    @mukhamedzhumabekoff7642 11 месяцев назад +1

    отличная работа, название == содержание, никакого кликбейта, спасибо!

    • @SurenKhorenyan
      @SurenKhorenyan  11 месяцев назад

      спасибо! рад трудиться ☺
      рад, что понравилось

  • @lifestyletv139
    @lifestyletv139 Год назад +2

    Топ. То, что надо, лучший контент в мире по фастапи!!! Продолжай

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

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

  • @МаксМаисеев-ч3з
    @МаксМаисеев-ч3з Год назад +1

    Привет, спасибо за информацию, до того как нашёл твои видео смотрел другого ютубера по фаст апи но увидел тебя и стал смотреть твои видео

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      Привет, пожалуйста!
      Класс, приятно ☺

  • @stvJnK
    @stvJnK Год назад +1

    Привет! Супер материал, для меня открытие было про использование RSA. Тема сложная, но у Вас подача материала очень хорошая :) . Жду с нетерпением продолжение.
    Если будет возможность хотелось бы услышать про Refresh токены как этот механизм работает и какие у него особенности (сколько не разбирался не могу понять принцип обновления и хранения в каких-то http-only в куках, local storage).
    Мучают вопросы момента обновления токенов:
    1. Например время жизни Access 15 минут, соответственно пользователь вернулся через 2 часа и так как Access протух, то смотрим Refresh токен. И обновляем Access и Refresh или только Access.
    2. В процессе пользования Access токена, система видит, что подходит время и обновляет Access или работаем как в 1 пункте и смотрим на Refresh и меняем только Access или Refresh тоже...

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад +1

      Привет! Класс, я рад, что понравилось 😊
      Про рефреш тоже будет позже, в рамках большого видео по авторизации.
      По рефрешу вы написали два подхода, которые могут использоваться отдельно друг от друга, а также вместе. Всё зависит от реализации

  • @photo_graf_khv
    @photo_graf_khv 8 дней назад

    Как всегда красавчик 👍 спасибо, пойду делать тестовое по этому видосу🙂

    • @SurenKhorenyan
      @SurenKhorenyan  7 дней назад

      Кайф, удачи!
      Кстати, если несложно, поделитесь плиз тестовым. Можно в личке (все ссылки в описании канала)

    • @photo_graf_khv
      @photo_graf_khv 7 дней назад

      ​@@SurenKhorenyan Без проблем👌для тех кто читает, тест заключается в написании 2х енд поинтов. 1й аутентификация, регистрация (jwt), возможность смены пароля.
      2й перевод средств (транзакциии).
      Считаю, что это многовато для тестового, но хотя в бэкенде опыта у меня не много. Подскажите, плиз народ или автор, это ту мач?

  • @twenty1th
    @twenty1th Год назад +1

    Отличное видео, как всегда. Спасибо за работу!

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

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

  • @Katar1x
    @Katar1x 11 месяцев назад +4

    Нужна серия роликов по созданию проекта КАК на проде.
    То есть взять тематику для примера и с нуля пройти этапы проектирования бд, построения архитектуры, и т д

    • @SurenKhorenyan
      @SurenKhorenyan  11 месяцев назад +1

      Есть такое в планах, всё никак не решу, что именно делать. Хочется какой-то полезный, но несложный проект

    • @Katar1x
      @Katar1x 11 месяцев назад +1

      Сайт-хранилище с мемами можно)@@SurenKhorenyan

    • @SurenKhorenyan
      @SurenKhorenyan  8 месяцев назад

      так для этого телеграм-каналы есть 🙂

  • @dazdik
    @dazdik 11 месяцев назад +1

    лучший видос, помог разобраться с ошибкой в проекте 🔥

    • @SurenKhorenyan
      @SurenKhorenyan  11 месяцев назад

      Крутяк! Я рад, что у вас получилось, и что я смог помочь 🥰

  • @Борщкот
    @Борщкот Год назад +1

    Топчик, отдельный респект за таймкоды

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      Супер! Не зря я их выписывал 😅

  • @МихаилЕфимов-м3у
    @МихаилЕфимов-м3у Год назад +1

    Привет, всё отличено, единственный момент который стоит делать по другому это 37:40, где используется utcnow(), который признан deprecated в 3.12. Можно почитать обсуждение по этому поводу на форуме discuss python в теме "Deprecating `utcnow` and `utcfromtimestamp`"

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      привет, спасибо!
      да, я в курсе про deprecation warning в 3.12. пока что его нигде не используют, так что не страшно. да и в ворнинге написано, как заменить

  • @NikitaProfir
    @NikitaProfir Год назад +1

    Огромное спасибо за контент!

  • @ВикторГлухов-р3ь

    Спасибо за материал!
    10:30 сижу и не понимаю, откуда эти команды у меня в README должны появиться))))

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      Пожалуйста! Это я их так незаметно успел скопировать. И вставил после создания файла 😅

    • @ВикторГлухов-р3ь
      @ВикторГлухов-р3ь 11 месяцев назад +1

      Благодарю за контент!
      @@SurenKhorenyan

    • @SurenKhorenyan
      @SurenKhorenyan  8 месяцев назад

      Пожалуйста! Рад, что вам нравится

  • @Mr_Endorphin_vod
    @Mr_Endorphin_vod 11 месяцев назад +1

    Здравствуйте, Сурен! Большое Вам спасибо за ваши видео - это самый подробный курс по fastapi, который встречал! Успехов в развитии вашего канала:)
    И подскажите пожалуйста, не планируете ли вы разобрать RabbitMQ? Он очень часто встречается на проектах, но пока не встречал адекватных видео в связке с python

    • @SurenKhorenyan
      @SurenKhorenyan  11 месяцев назад

      Добрый день! Пожалуйста!
      Я рад, что вам нравится, мне очень приятно.
      Спасибо большое! Дальше больше 💪
      По RabbitMQ планирую сделать видео, тема очередей задач очень важна. Просто пока по теме видео мы даже и близко не добрались. Когда-нибудь обязательно будет, может быть даже в этом году 🙂

  • @Давид-у3д7ж
    @Давид-у3д7ж Год назад

    Вот спасибо тебе, Сурен! Не прямо, но опосредовано помог найти решение моей траблы :)

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      Круто, пожалуйста! Рад помочь 🥰

  • @ondest5059
    @ondest5059 Месяц назад +1

    А вот в микросервисной архитектуре это как применяется? То есть один сервис выпускает токены, а остальные просто проверяют по публичному ключу или как это работает, можете подробнее рассказать?

    • @SurenKhorenyan
      @SurenKhorenyan  Месяц назад

      @@ondest5059 сервер аутентификации выпускает токен, пользователь с этим токеном ходит в приложения. Приложения получают токен и проверяют на сервере аутентификации валидность токена

  • @tonyborbozo
    @tonyborbozo 5 месяцев назад +1

    при попытки генерации ключей,
    выдало 'openssl' is not recognized as an internal or external command,
    operable program or batch file.

    • @SurenKhorenyan
      @SurenKhorenyan  5 месяцев назад

      поставьте openssl. Или сделайте через python secrets:
      python -c 'import secrets; print(secrets.token_hex())'

  • @user-fm1552
    @user-fm1552 11 месяцев назад +1

    классная подача материала ! спсб !

    • @SurenKhorenyan
      @SurenKhorenyan  11 месяцев назад

      Супер! Пожалуйста!

  • @arturzhukovets7951
    @arturzhukovets7951 9 месяцев назад +1

    Спасибо за урок! Очень круто! А можешь тезисно описать хронологию использования вот такого вот способа аутентификации со стороны фронта? Я хочу использовать React. Если конкретнее то куда правильнее всего положить этот токен для использования в других запросах?
    И будет ли это вообще корректно использовать такой способ auth для обычного сайта или jwt auth используется только для каких-то сервисных АПИ?

    • @SurenKhorenyan
      @SurenKhorenyan  9 месяцев назад

      Фронт сохраняет токен в local storage, каждый раз в запросе указывает
      По аналогии ещё нужен refresh token, у которого срок жизни больше. И при помощи этого токена надо обновлять обычный.
      Когда-нибудь это тоже покажу 🙂

    • @arturzhukovets7951
      @arturzhukovets7951 9 месяцев назад +1

      Будет здорово. А так спасибо за ролики по FASTAPI, это как глоток свежего воздуха

    • @SurenKhorenyan
      @SurenKhorenyan  9 месяцев назад

      @@arturzhukovets7951 пожалуйста!

  • @ГлебФёдоров-ч1л
    @ГлебФёдоров-ч1л 5 месяцев назад +1

    а как в ходе работы быть с токеном? мне каждый раз вручную прописывать добавление его в заголовки или есть какая-то автоматизация?

    • @SurenKhorenyan
      @SurenKhorenyan  5 месяцев назад +1

      Если у вас жээс приложение на фронте, то там обычно да, сохраняют в localstorage и добавляют в заголовки каждый раз.
      Если у вас всё на server side rendering, то вам подходит установка этого токена в куки, тогда браузер будет автоматически эти куки слать

    • @ГлебФёдоров-ч1л
      @ГлебФёдоров-ч1л 5 месяцев назад +1

      @@SurenKhorenyan а, получается работа фронтендера, а не моя, понял, огромное спасибо!!! классная серия видео!

    • @SurenKhorenyan
      @SurenKhorenyan  5 месяцев назад

      @@ГлебФёдоров-ч1л ага. Пожалуйста!

  • @user-fo8yv6cf9h
    @user-fo8yv6cf9h 4 месяца назад +1

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

    • @SurenKhorenyan
      @SurenKhorenyan  4 месяца назад

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

    • @user-fo8yv6cf9h
      @user-fo8yv6cf9h 4 месяца назад +1

      @@SurenKhorenyan валидные токены хранятся у пользователя в браузере, запись не идет в бд. Но есть модель TokenBlackList, где хранится токен при логауте. Потом обычно проверяется нет ли такого токена в блеклости. Но в свагере там, где замочек логаут не идет автоматом, можно ли это как-то переопределить?
      + Получается надо будет во всех роутах дополнительно где требуется логин делать депендс от функции проверки токена?
      Еще вопрос можно ли рассмотреть возможность реализации логаута, где будет с куки в браузере удаляться токен без всего остального? или такое не канает

    • @SurenKhorenyan
      @SurenKhorenyan  4 месяца назад

      ​@@user-fo8yv6cf9h понял
      - сваггер при "выходе" просто забывает токен. Чтобы реально сделать ваш логаут, необходимо дёрнуть апи
      - проверять нужно везде, да
      Лучше в тг чате обсудить, тут неудобно и долго. Рад буду подсказать

  • @voronovmaksim88
    @voronovmaksim88 Месяц назад

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

  • @Паша-н9ь
    @Паша-н9ь 3 месяца назад

    спасибо! Все четко и понятно!

    • @SurenKhorenyan
      @SurenKhorenyan  3 месяца назад

      @@Паша-н9ь пожалуйста!

  • @nv1889
    @nv1889 Год назад +1

    Привет, подскажи, пожалуйста, на 10:30 как ты создал файл ридми?

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      Привет! В данном случае я вставил файл, который подготовил и скопировал заранее. А так, чтобы создать новый файл, достаточно кликнуть правой клавишей, выбрать new file и написать в названии README (точка) md

    • @nv1889
      @nv1889 Год назад +1

      Понял, спасибо!
      Еще вопрос: при выполнении команды в терминале "openssl genrsa -out jwt-private.pem 2048" пайчарм мне пишет: '"openssl" не является внутренней или внешней
      командой, исполняемой программой или пакетным файлом.'
      Как быть?
      @@SurenKhorenyan

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      @@nv1889 у вас не установлен OpenSSL, вот нашёл инструкцию как в PowerShell на Windows поставить linuxhint.com/openssl-windows-10/

  • @nerassstraivaisya
    @nerassstraivaisya Год назад

    Привет, спасибо большое за плейлист по фастапи, очень качественно преподаешь! Было бы круто, если бы ты сделал ролик по созданию полноценного многомодульного приложения, где разные апишки общаются между собой 😊

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад +2

      Привет, пожалуйста!
      Всё впереди, может быть и до этого доберусь 🙂

  • @HumoyunAhmedov-g9r
    @HumoyunAhmedov-g9r 10 месяцев назад +2

    Спасибо вам!

  • @pierredechardin6340
    @pierredechardin6340 Год назад +2

    Огромное спасибо за материал. Будет ли урок по полноценной аутентификации с refresh сессиями?

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад +2

      Пожалуйста!
      Да, про обновление токена тоже расскажу в одном из следующих видео

    • @voronin911
      @voronin911 Год назад

      Очень ждём и спасибо за ваши труды!!!!❤

  • @__name__397
    @__name__397 9 месяцев назад +1

    Сурен, спасибо большое за видео! Было очень познавательно.
    У меня возник такой вопрос после просмотра видео
    Есть такое понятие как готовая аутентификация
    Получается, это понятие не относится к нашей, так как мы писали его сами?
    Или же наша аутентификация считается "готовой"?
    Спасибо за ответ!

    • @SurenKhorenyan
      @SurenKhorenyan  9 месяцев назад

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

  • @vadimv1501
    @vadimv1501 Год назад +1

    как bcrypt понимает что пароль соответствует хэшу(с солью), ведь мы не передаем в него соль повторно? где почитать об этом? никак не могу разобраться

    • @vadimv1501
      @vadimv1501 Год назад +1

      как я понял, соль передается вместе с хэшем пароля в одной строке. если украсть хэш, то украдется и соль. разве это не проблема? (или даже если знаешь соль, ускорить брудфорс пароля это не поможет?)

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      @@vadimv1501 верно, соль будет в строке вместе с хэшем, разделяется обычно долларом.
      Да, зная соль будет легче брутфорсить. Но так как делается не одна итерация хэшироаания, а сотни и тысячи, всё равно перебрать довольно сложно

    • @vadimv1501
      @vadimv1501 Год назад

      @@SurenKhorenyan В реальном проекте такой способ хранения паролей подойдет, или есть более популярные практики? (возможно какой-то конкретный алгоритм хэширования)

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      @@vadimv1501 в реальном проекте подойдёт, джанго так и делает, только может применять другой алгоритм хэширования

  • @uathon4379
    @uathon4379 11 месяцев назад +1

    У меня вопросик, не могу поняк как сохранять в куках авторизацию по oauth2passwordbearer. После релоада авторизация пропадает и надо заново авторизироваться.

    • @SurenKhorenyan
      @SurenKhorenyan  11 месяцев назад

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

  • @dimkas4284
    @dimkas4284 10 месяцев назад +1

    Прекрасное видео, я бы хотел спросить, получается когда пользователь введет логин пароль по эндпойнту login, то автоматически создается токен и после этого, когда он сделает get запрос на какой нибудь эндпойнт, где в аргумент функции через depends будет вызван get_current_user то нам уже не надо будет руками вводить токен, верно? достаточно один раз залогиниться

    • @SurenKhorenyan
      @SurenKhorenyan  10 месяцев назад

      Спасибо.
      Ну, не совсем так. Нам всё равно надо будет логиниться снова. Наш токен живёт ограниченное время. Токен надо обязательно передавать в заголовке

  • @georgedudaev8738
    @georgedudaev8738 Год назад +1

    Сурен, добрый день, спасибо, что подробно объясняешь! другие блогеры поверхностно пробегаются или просят покупать платные курсы, но ни у одного даже на платных не увидел как грамотно сделать аутентификацию и авторизацию с access и refresh токенами, может ты хотя бы возьмешь на вооружение, а то так нигде и не нашел как сделать именно грамотную авторизацию, а не просто access токен, он ведь живет всего лишь 15-30 минут, было б круто если бы прям рассказал как это работает и показал, для чего нужен рефреш токен, и как с его помощью рефрешатся эти токены

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад +1

      Привет, пожалуйста!
      Да, обязательно будет и как скомбинировать это всё и жить с access + refresh токенами

    • @georgedudaev8738
      @georgedudaev8738 Год назад

      @@SurenKhorenyan очень жду, а то индусов смотреть устал, никто еще нормально не сделал это как надо со слоистой архитектурой

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад +1

      @@georgedudaev8738 просто подходов довольно много, надо про них рассказать, сравнить. будет зимой

    • @georgedudaev8738
      @georgedudaev8738 Год назад +1

      ​@@SurenKhorenyan могу помочь как человек пытающийся все это реализовать, вопросы возникающие у людей, что непонятно, это все рассказать, думаю если сделаешь полноценный модуль авторизации, с эндпоинтами смены пароля и сброса пароля, и это все на бусти, много подписок обеспечено!

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      @@georgedudaev8738 конечно, пишите ваши вопросы! я пока ещё не подготовил сценарий по этой теме, ресерч ещё впереди, так что любая информация пригодится

  • @pavelhomov
    @pavelhomov Год назад +1

    Есть еще библиотека FastAPIUsers, разве она не лучше для данного решения? Там еще и OAuth2 с коробки

    • @pavelhomov
      @pavelhomov Год назад

      и гораздо проще подключается

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      Есть, расскажу
      Для того, чтобы понимать, как вообще работает это всё, начинаю издалека

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад +3

      @@pavelhomov обязательно посмотрим в новых видео

  • @ИванШалутов
    @ИванШалутов 11 месяцев назад +1

    Привет. Было бы полезно также узнать как сделать проверку почты при регистрации. То есть, мы регистрируемся, и нам на почту отправляется письмо со ссылкой по которой нужно перейти для завершения регистрации. Также кнопка забыли пароль, с функционалом по отправке письма для сброса пароля.

    • @SurenKhorenyan
      @SurenKhorenyan  11 месяцев назад

      Привет, спасибо! Классная идея, надо будет такое тоже показать

  • @oleksandr7201
    @oleksandr7201 Год назад +1

    Здравствуйте, Сурен!
    Спасибо за такой качественный контент!
    Подскажите еще, пожалуйста, а как правильно сделать logout?
    Как я понимаю, у клиента в браузере каким то образом необходимо удалить токен?

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад +2

      Пожалуйста!
      Чтобы именно пользователь выполнил выход, достаточно "забыть" токен на фронте (на клиенте)
      А если нужно сделать так, чтобы токен больше не был валидным - это надо использовать другой подход, когда мы следим за каждым выпущенным токеном (с помощью базы данных), но это уже совсем другая история

    • @voronin911
      @voronin911 Год назад +2

      Я передаю токен, через cookies, а для logout на сервере ендпоинт logout где эта кука удаляется

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      @@voronin911 отличный способ!

  • @nerassstraivaisya
    @nerassstraivaisya 11 месяцев назад

    Сурен привет! А есть в планах записать ролик на тему тестирования этого приложения через pytest? Было бы очень здорово:)

    • @SurenKhorenyan
      @SurenKhorenyan  11 месяцев назад +1

      Привет! В планах есть, сроков пока нет

  • @iRespectOnlyYen
    @iRespectOnlyYen Год назад +1

    🔥🔥🔥

  • @user-fo8yv6cf9h
    @user-fo8yv6cf9h 7 месяцев назад +1

    дякую

  • @_balancy_
    @_balancy_ 16 дней назад

    всегда думал, что python-jose читается как Хосе с ударением на е, на испанский манер

    • @SurenKhorenyan
      @SurenKhorenyan  16 дней назад

      Хмм, вполне вероятно. Звучит очень правдоподобно. Я не задумывался просто и читал как написано

  • @CounterSuny
    @CounterSuny 7 месяцев назад +1

    жаль, что в OAuth2PasswordBearer нельзя использовать вместо username какой-нибудь email или login. Я читал где-то решение этой проблемы, но пока без костылей и велосипедов её нормально не решить. Больше всего поржал от документации fastapi где написано что-то вроде: "Забейте, для конечного пользователя вы можете использовать свои обозначения, но на стороне сервера это должно быть username"))))

    • @SurenKhorenyan
      @SurenKhorenyan  7 месяцев назад

      Ха, прикол. Не сталкивался.
      При желании можно сделать свою обертку

  • @Artem-sz4rc
    @Artem-sz4rc 6 месяцев назад +1

    легенда

  • @ГубкаБоб-р8ъ
    @ГубкаБоб-р8ъ Год назад

    Да уж, тема достаточно сложная и обширная. Это надо пару раз как минимум пересмартивать.
    PS первый раз увидел наглядное применение оператора "моржа"

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      Действительно, тема большая. Помимо пересмотра видео хорошо бы ещё применить полученные знания на практике!

    • @ГубкаБоб-р8ъ
      @ГубкаБоб-р8ъ Год назад

      @@SurenKhorenyan согласен, но я пока еще недостаточно освоил джанго, пока борюсь с ним. Может я зря опасаюсь что если параллельно начну писать на FastAPI то запутаюсь? Не знаю

    • @SurenKhorenyan
      @SurenKhorenyan  Год назад

      @@ГубкаБоб-р8ъ вряд ли запутаетесь, это довольно разные фреймворки

  • @DaniilReshetnev
    @DaniilReshetnev 9 месяцев назад

    Последнее обновление библиотеки JWT Auth 30 минут назад

    • @SurenKhorenyan
      @SurenKhorenyan  9 месяцев назад

      Круто! Надо будет заглянуть, спасибо за информацию

    • @SurenKhorenyan
      @SurenKhorenyan  8 месяцев назад

      Добрый день. А вы про какую библиотеку? FastAPI JWT Auth обновлялась более четырех лет назад, python-jose обновлялась три года назад. Да даже библиотека PyJWT, которую я в видео рекомендую, обновлялась год назад. Скиньте ссылку тут или приходите обсуждать в чат в телеграм

    • @aqarys.devlog
      @aqarys.devlog 4 месяца назад

      @@SurenKhorenyan А какую используют в итоге на проде все проекты?

    • @SurenKhorenyan
      @SurenKhorenyan  4 месяца назад

      ​@@aqarys.devlog реальные проекты используют third party для аутентификации и авторизации. Облачный Firebase или self hosted Keycloak

  • @Antinormanisto
    @Antinormanisto 4 месяца назад

    мне кажется, я тупой

    • @SurenKhorenyan
      @SurenKhorenyan  4 месяца назад +1

      Вам только кажется, на самом деле это не так!