Аутентификация в FastAPI | Basic Auth, Cookie Auth, Заголовки, Токен | FastAPI Auth

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

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

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

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

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

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

  • @godgiven994
    @godgiven994 11 месяцев назад +2

    Столько полезной инфы! Как раз разбираюсь с авторизацией, очень кстати!

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

      Класс! Я рад, что полезно!

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

    Ура, снова FastAPI! Спасибо что делаешь для нас видео!

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

      Пожалуйста! Рад трудиться, приятно получать такие отзывы 😊

  • @storlay
    @storlay 6 месяцев назад +3

    Твой материал про FastAPI превосходит некоторые платные курсы, очень классная подача и сильное погружение
    Спасибо!

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

      @@storlay кайф, пожалуйста! очень приятно, спасибо 🥰😊

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

    Сурен, спасибо за начало освещения данной темы. Уже интересно и полезно)) Ждём продолжения!!!

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

      Класс, пожалуйста! Продолжение совсем скоро

  • @АлександрСемёнов-я2э

    Спасибо огромное! Много полезной инфы, как раз сижу разбираюсь с аутентификацией

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

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

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

    Ну что сказать, дождались! Супер мега класс

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

    Очень хорошо объясняете, даже мне школоло все понятно)) Вас очень приятно слушать

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

      Круто, спасибо! Рад, что вам нравится ☺️

  • @belphegor6979
    @belphegor6979 8 месяцев назад +1

    Очень крутое видео! Много неочевидных пояснений, которые для меня были очень полезны!

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

      Огонь! Спасибо большое, очень приятно. Рад, что вам было полезно 😊

  • @БлаговестНедков-ж5ы

    Thank you for the content. Is very important at start to explain teory then practise, like you do! Cheers

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

    Еще не смотрел, но уже очень рад появлению этого ролика! Спасибо, Сурен!!
    P.s. не затягивай, пожалуйста, с продолжением 😊❤

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

      Хах. Пожалуйста!
      Затягивать не буду, иду плавно. Поддержать и ускорить выход роликов можно через бусти или пожертвовать напрямую без комиссии через сбор на Тинькофф, все ссылки в описании 😊

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

    Материал понравился. Именно учишь! Все просто, очень доступно. Python вообще не знаю, но даже мне очень понятно и все получается.

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

      Кайф! Я рад, что вам нравится и что понятно 😊

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

    Очень круто, спасибо, ждем новых видео

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

      @@VladLuck98 класс, пожалуйста! Да, надо будет продолжить тему..

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

    Я только начал изучать FastAPI, сейчас в хакатоне участвую. Твои видео очень помогают, спасибо) Если бы побольше про документацию рассказал и про способы её кастомизировать, то было бы круто)

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

      Класс, пожалуйста!
      Про расширение документации тоже будет 😊

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

      @@SurenKhorenyan тоже подпишусь за документацию, думаю много людей будут сталкиваться с проблемой, что по умолчанию свагер сделает документацию. которая требуе логин и пароля для всех методов, а по факту там должен быть токен )
      уверен что это гуглится, но для новичков наверное будет сложно понять что происходит.

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

      @@YmNIKYm токен тоже можно указать по умолчанию, для этого есть специальные надстройки. Покажу обязательно. Спасибо!

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

    Топчик, ждал продолжения по фастапи, спасибо

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

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

  • @АлександрСмирнов-е1и

    Большое спасибо за ролики, очень ценно! Подписался на бусти.

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

      Крутяк, вот это кайфуха! Пожалуйста
      И вам большое спасибо, очень приятно ☺️

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

    Зачёт!)) Единственное... могу предложить как то группировать по смыслу код чтобы при изменении было одновременно видно участки которфые относятся к текущему контексту.

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

      Спасибо! Согласен, это тоже важно. Буду внимательнее к этому моменту

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

    Попробовал Flet - очень легкий фрэймворк для построения GUI. Можно было бы в связке с алхимией записать пару уроков. Те, что уже есть на ютюбе по flet - так себе. Желаю успехов! Молодец!

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

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

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

    Спасибо большое, очень понятно объясняешь

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

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

  • @Humoyun209
    @Humoyun209 11 месяцев назад +2

    Прям очень круто!

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

      кайф, спасибо! я рад, что вам понравилось

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

    Жду продолжение, но уже про авторизацию))

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

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

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

    Топ контент

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

      Класс, спасибо! Рад трудиться 😊

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

      Тот момент, когда смотришь обоих с огромным интересом! Спасибо вам за контент! Жду продолжения с нетерпением!

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

      @@ArtemShulichenko спасибо, приятно
      P.S. только благодаря вашему комментарию увидел, кто написал тот комментарий 😅
      А то Ютуб же не показывает Аватарки и имена

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

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

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

      Пожалуйста!
      Со временем запомните обязательно. А так можно везде писать auth и всё 😅

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

    Спасибо большое

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

      Пожалуйста! Рад трудиться 🥰

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

    Суперский ролик, жду более подробной реализации аутентификации, сам недавно начал это изучать, очень полезно. Немного оффтопа, что за тема в пайчарме?) Поделись, пожалуйста, поскольку я любитель светлых тем и не все темные мне заходят, а эта прям понравилась)

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

      One Dark theme вроде

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

      Привет, класс! Рад, что понравилось 😊
      Продолжение будет
      Тема One Dark, верно подсказывают

  • @ДмитрийСергеев-л6г

    Спасибо!
    Класс

  • @ЭдуардЭфклидов
    @ЭдуардЭфклидов Год назад +1

    Сурен такой вопрос!)
    Вот мы рассмотрели 3 различных аутентификации, а если наш фронт будет на мобильном устройстве?
    Я конечно понимаю, что мы бы будем делать http запрос с фронта на бек, но в таком случае какую рекомендуется использовать аутентификацию?

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

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

  • @Victoria-y4j
    @Victoria-y4j 10 месяцев назад +1

    Видео по делу, однако, постоянно переключение тёмный фон и белый - просто накапливать усталость. Нельзя ли сделать единое оформление..

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

      Учту, спасибо! Не задумывался, что может усложнять просмотр

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

    Боже, какой ты крутой !
    Но у меня появился вопрос, а зачем собственно ты используешь scoped session, а не просто session ?

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

      Спасибо!
      По scoped session старая привычка. Уже не нужно так делать, это deprecated подход. На момент записи видео я об этом не знал

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

    Кстати, а что за стрелочки такие для аннотации возвращаемого типа?

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

      Это всё те же стрелочки из минуса и знака больше. просто в PyCharm активна галочка ligatures
      www.jetbrains.com/help/pycharm/settings-editor-font.html#:~:text=different%20from%20defaults.-,Enable%20ligatures,-Enable%20font%20ligatures

  • @fleshka48
    @fleshka48 13 дней назад

    ты крут

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

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

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

    Сурен, видео же ускоренное? Я привык смотреть видосы на скорости 1.5х, но твои на 1х очень быстрые.

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

      @@MrSunTrope хаа, нет, обычная речь 😁

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

    Подскажите пожалуйста, как называется тема pycharm которую используете?

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

    Добрый день
    Пишу свой первый FastAPI backend.
    Как метод идентификации выбрал token в header.
    Вопрос, если мне надо что бы все АПИ работали только для идентифицированных пользователей, надо в каждой view функции добавлять
    user_id:int Depends(auth_http_header)?

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

      Здравствуйте! Достаточно в роутере указать зависимость: APIRouter(dependencies=[Depends(your_dep)])
      Префикс и тд уже сами добавите 🙂
      В телеграм чате быстрее на такие вопросы отвечаем, приходите

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

    Вот у меня снова возникает вопрос, но на этот раз уже не по теме пайчарма)
    Например: Есть сайт и человек там зарегистрировался, его пароль в хэше и юзернейм или почта, человек сколько угодно раз может проходить аутентификацию вручную, но у меня возникает вопрос. Если юзер отклонит куки от моего сайта, он же не будет автоматически входить при создании новой сессии (если нажмет "не сохранять пароль" в фиче от гугла или на моем же сайте)? Но все же если сохранит, то как это происходит, все так же через куки? Браузер как-то видит пароль и юзернейм/почту до конца, в том плане, что ты сохранял куки в словарь, но вопрос как браузер достанет его от пользователя, каким-то образом они передадутся снова при аутентификации в любое другое время? Я не понимаю этого до конца, до сих пор, извини если через чур замудренно это написал, надеюсь ответишь)

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

      Отклонить куки он не сможет. Мы его даже не спрашивали 😅
      Почту и пароль мы нигде не храним. Как раз таки сессия у нас для этого и есть. Просто куку ставим и по ней проверяем
      В грядущих роликах обязательно расскажу

  • @Birzhan-j5m
    @Birzhan-j5m 4 месяца назад

    Так же легкодоступно как на курсе Django в Skillbox

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

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

  • @iwfttl
    @iwfttl 2 месяца назад +1

    Что за тема в IDE?

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

      @@iwfttl это One Dark

    • @iwfttl
      @iwfttl 2 месяца назад

      @@SurenKhorenyan спасибо

  • @АлексейЕгоров-к9е
    @АлексейЕгоров-к9е Месяц назад

    почему-то в Google Chrome не работает ни фига!!!!! Крутится и не отправляет данные. не запрашивает пароли. В Мозиле всё работат.

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

      А в консоли браузера есть какие-то ошибки? Может быть там понятна будет причина

    • @АлексейЕгоров-к9е
      @АлексейЕгоров-к9е Месяц назад

      @@SurenKhorenyan пусто. просто крутится LOADING. возможно какое расширение глючит. блокирует или еще что-то. в яндекс.браузере та же фигня.... и кэш чистил. прикольно.

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

      Возможно. Или ваше приложение не стартануло. Убедитесь, что приложение активно. Ещё мог остаться фоновый процесс с ошибкой. Можно попробовать перезагрузить компьютер

    • @АлексейЕгоров-к9е
      @АлексейЕгоров-к9е Месяц назад

      @@SurenKhorenyan всё это делал не помогло. Кнопка authorize вверху работала через неё и вводил )))). сейчас по кликал расширения. отключил все и заработало. включил все и всё еще работает )))) так и не понял в чем была проблема. какое-то расширение мешало ))) спасибо за отклик. Все видео ТОП среди всех уроков!!!!!

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

      Да это у хрома приколы свои небось. Класс, пожалуйста!

  • @Null_name-cr8cl
    @Null_name-cr8cl 4 месяца назад

    7:05 если ты импортишь отдельный файл, почему бы не показать как он работает, я ихуя из-за этого одного файла не понял(((

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

      Привет! Про какой модуль речь? В тот момент, что вы указали, я импортирую модуль, который мы только что сделали

    • @Null_name-cr8cl
      @Null_name-cr8cl 4 месяца назад

      ​@@SurenKhorenyanfrom .products.views import router as product router

    • @Null_name-cr8cl
      @Null_name-cr8cl 4 месяца назад

      Просто сам файл views до этого не рассматривался

    • @Null_name-cr8cl
      @Null_name-cr8cl 4 месяца назад

      Насколько внимательно я смотрел

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

      ​@@Null_name-cr8cl а предыдущие ролики в серии вы смотрели? Если тут не рассказывал, то в предыдущих точно было..

  • @АлексейТерентьев-я8ф

    Лайфхак - можно включить скорость х2, тогда ролик будет длиться полчасика 👀

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

      Главное успевать разобраться, а то некоторые на 0.75х смотрят 😅

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

    +

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

    Ну помогите, уже всё облазил, нигде нет спасения. Пытаюсь развлечься созданием сайта, и вот проблема. Даже в вашем уроке, условно существует главная страница(рендер html), на котором я хочу проверить куки пользователя, но если он вдруг не авторизован использование user_session_data: dict = Depends(get_session_data), выдает ошибку 422 Unprocessable Entity. сам FastAPI ругается на неё так {"detail":[{"type":"missing","loc":["cookie","web-app-session-id"],"msg":"Field required","input":null}]}
    Я уж что только не перепробовал, но не пойму как банально проверить на наличие куки в сесии... Да, пройдя один раз регистрацию, пользователь спокойно может жить на сайте, но без неё он даже на главную сраницу попасть не может, что делать, как быть?

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

      Исправьте get_session_data, в параметре укажите str | None = None.
      С такими вопросами лучше сразу в тг чат, там быстро подскажут 🙂

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

      ​@@SurenKhorenyanв тг чат обязательно зайду. Когда указываю так, ничего не меняется. Если указать Cookie(default=None), он вообще не считывает session_id. Он всегда останется None

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

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

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

    Спасибо!