Как всегда на высоте. Автор сам того не замечая, в виду своей квалификации, помимо раскрытия основной темы ролика, показывает довольно много фишек или нюансов работы с инструментами или IDE, которые я благополучно подмечаю для себя) Спасибо огромное🥰🥰🥰
Хорошо получается учить. Я Python не знаю, вообще не бэкендер, но да же мне понятно. Мой заказ: видео о разделении пользователей по правам доступа :) Ставлю лайк. Не ставят те, кто не хотят чтобы эти видео просматривали другие :D
Спасибо за курс, очень жду новых роликов в продолжение темы. Особенно нравится манера подачи материала - без воды, в высоком темпе и максимальной смысловой нагрузкой. Осваиваю фреймворк и пишу свой проект. Думаю для новичков ваши видео помогают лучше любых статей и документации)
Огромное спасибо за то, что раскрываете тему авторизации и аутентификации! ❤ Для меня тема крайне мозговыносящая, несмотря на кучу просмотренных материалов. Ваши ролики позволяют, хоть и немного, но структурировать это в голове. Очень хотелось бы больше роликов на эту тему!
Крутой видос. Очень нужная информация. Перелопатил кучу статей и везде информация очень абстрактная. Хочу дополнить, что ещё бывает практика, что при обращении на refresh, вместе с access токеном заменяют и refresh токен
Сурен, огромное спасибо за курс, есть только одно замечание. Такими темпами MVP будет достигнуто за полтора-два года от первого выпуска? Хотелось бы получить предсказуемый выход роликов, поскольку несмотря на очень качественный подход полноценный шаблон для своего приложения хотелось бы получить чуть быстрее.
Пожалуйста! Да, так как я свободно выбираю тему, финал не близко. Ускорить выход роликов, а также задать направление можно через бусти. Там уже есть пара тем в очереди, спешите занять ближайшие позиции 🙂
Сурен, надеюсь прочитаешь. Можешь показать как можно сделать роутеры в фастапи на основе классов и для этого класса общие вещи определить в атрибутах класса?
Привет! "надеюсь прочитаешь" будто у меня комментариев так много, что легко пропустить 😁 В ближайших планах именно такого нет, но близкое надо будет рассказать
Спасибо! А как вы JWT с БД применять собираетесь? Я уже рассказывал, что JWT как раз таки self-contained, мы его в бд не складываем. Регистрация это уже на ваше усмотрение, можно просто при первом обращении создавать учетку, можно форму регистрации делать. в сегодняшнем ролике показал как регистрироваться через FastAPI-Users
Сурен, вопрос, а где лежит сам этот jwt access/refresh токен у клиента, могу ли я его увидеть через консоль разработчика, или он лежит где то глубже в самом браузере? И еще вопрос, как реализовать логаут с такими токенами?
Да, лежит на клиенте. Часто в local storage кладут. Ещё можно просто в куки засовывать, тут зависит от вашей реализации. Логаут простой: клиент забывает токен и всё. Если надо прям запретить использовать этот токен, то в конце ролика показывал поле jti, по нему вносить в блеклист
А в чем глобально смысл использовать аксес и рефреш? Если стиллером вытащить, то вытащят оба токена. MITM атака тоже не сильно режется, ибо рефреш токен часто будет бегать обновлять аксес. Какой реальный профит у такого подхода?
@@SurenKhorenyan чем более надёжным хочешь сделать аксес (коротким по жизни) тем чаще будет ходить рефреш, что приводит к обратной цели - падению секурности. Короче все как всегда 😁😁 обмазались и радуемся
@@MAKS19961204ну, тут да. Такие современные веяния. В идеале просто куку ставить, но если там трафик потырить, то тоже нет спасения. Спасибо что https хоть какую-то надёжность предоставляет
*мем мужик у доски доказывает* 🤯 спасибо) только я не понял зачем такие сложности с двумя токенами... точнее понятно - безопасность, но оба токена доступны одинаково и соответсвенно если есть возможность украсть то воруются оба, а потом перевыпускать access token через refresh ничего не мешает... или я чего-то недопонял, или чего-то не хватает 🤷
Привет! Да, можно. Только это более сложная либа, более комплексная. Ролик когда-то будет. Я снимал его в прошлом месяце, материал застрял в монтаже. Когда-нибудь выйдет, может быть даже в этом месяце.
Использование как access, так и refresh токенов обеспечивает дополнительный уровень безопасности приложения, позволяя более безопасно обмениваться доступом к ресурсам. Кроме того, refresh токены позволяют управлять сессией пользователя и обновлять access токены без необходимости повторной авторизации.
Сурен, подскажи пожалуйста, когда access токен сгорает, как происходит обновление токена через рефреш, т.е. это фронтенд определяет что токен сгорел и дергает эндпоинт с /refresh/?
В чем смысл? При перехвате злоумышленник получает оба токена и может спокойно генерировать новые токены доступа. Этот вариант использования jwt не практичен. Для этого требуется более надежный способ
Надо видос о применимости вообще, потому что вокруг жвт какой-то каргокульт, пихают везде, даже там где кукисов хватает с головой. Ну и классика: ruclips.net/video/pYeekwv3vC4/видео.html
Вы абсолютно правы, в общении браузера (клиента) с беком (сервером) зачастую достаточно куки. А вот при machine to machine общении надо использовать либо статик токены, либо что-то такое, типа JWT. Плюс тут есть полезная нагрузка. К сожалению, некоторые технологии, которые нам очень не нравятся (например, джаваскрипт, или нода) существуют, потому что они кому-то нужны. Даже если использование неправильное. К слову, REST API на самом деле значит совсем другое, и подразумевает HATEOAS, а не перекладывание JSON объектов
@@SurenKhorenyan у меня в пэте есть тг-бот, апишка и сайт. По идее взаимодействие тг-бота с апишкой это machine to machine, но я в aiohttp клиенте просто заюзал сессии через кукисы. Так и не понял потенциальных проблем. Для сложных систем с auth-сервером, где oath2 имеет смысл, jwt нужен, наверное
да на самом деле ни такая система авторизации, ни привычный нам апи не нужен, если мы делаем простое веб приложение. просто люди придумывают себе новые способы сложным путём упростить жизнь
Лайк, перед просмотром🎉
Спасибо!
Как всегда на высоте. Автор сам того не замечая, в виду своей квалификации, помимо раскрытия основной темы ролика, показывает довольно много фишек или нюансов работы с инструментами или IDE, которые я благополучно подмечаю для себя) Спасибо огромное🥰🥰🥰
Кайф! Я рад, что вам есть, что подцепить из ролика! 🥰🔥
Хорошо получается учить. Я Python не знаю, вообще не бэкендер, но да же мне понятно. Мой заказ: видео о разделении пользователей по правам доступа :)
Ставлю лайк. Не ставят те, кто не хотят чтобы эти видео просматривали другие :D
КайФ, спасибо большое! Рад, что вам понравилось и было понятно 😊
Заказать тему видео можно через бусти (на уровне Профессионал)
Превосходная подача материала! Всё подробно и в то же время ничего лишнего. Преподавать ваше призвание! Спасибо за курс.
Спасибо большое! Очень приятно 🥰
Благодарю за видео!
Пожалуйста!
Большое спасибо за видео, я удивлён что так мало просмотров и лайков
Пожалуйста!
Видимо, тема не очень актуальна 😢
Спасибо за курс, очень жду новых роликов в продолжение темы. Особенно нравится манера подачи материала - без воды, в высоком темпе и максимальной смысловой нагрузкой. Осваиваю фреймворк и пишу свой проект. Думаю для новичков ваши видео помогают лучше любых статей и документации)
Кайф, пожалуйста! Рад, что вам нравится!
Обязательно будет продолжение 😊
Огромное спасибо за то, что раскрываете тему авторизации и аутентификации! ❤ Для меня тема крайне мозговыносящая, несмотря на кучу просмотренных материалов. Ваши ролики позволяют, хоть и немного, но структурировать это в голове. Очень хотелось бы больше роликов на эту тему!
Кайф, пожалуйста! Продолжение обязательно будет. Очень рад, что вам нравится
Супер тема! Спасибо, Сурен!
Кайф, пожалуйста!
Спасибо вам от души❤
Пожалуйста!
Спасибо за подробный разбор этой темы)
Было интересно, как это всё под капотом работает
Пожалуйста! Рад, что вам понравилось
Очень приятно слушать и смотреть, продолжайте!
Кайф, спасибо! Обязательно буду продолжать
Крутой видос. Очень нужная информация. Перелопатил кучу статей и везде информация очень абстрактная. Хочу дополнить, что ещё бывает практика, что при обращении на refresh, вместе с access токеном заменяют и refresh токен
Спасибо!
Ага, я в видео говорил, что при желании можно и свежий рефреш отдавать
Спасибо за урок!
Пожалуйста!
А что нибудь по паттернам и чистой архитектуре будет?
Может быть, когда-то и будет.. ждём. Ускорить выход роликов можно через бусти
спасибо! круто объясняешь!
@@Паша-н9ь пожалуйста!
Сурен, огромное спасибо за курс, есть только одно замечание.
Такими темпами MVP будет достигнуто за полтора-два года от первого выпуска?
Хотелось бы получить предсказуемый выход роликов, поскольку несмотря на очень качественный подход полноценный шаблон для своего приложения хотелось бы получить чуть быстрее.
Пожалуйста!
Да, так как я свободно выбираю тему, финал не близко. Ускорить выход роликов, а также задать направление можно через бусти. Там уже есть пара тем в очереди, спешите занять ближайшие позиции 🙂
Сурен, надеюсь прочитаешь. Можешь показать как можно сделать роутеры в фастапи на основе классов и для этого класса общие вещи определить в атрибутах класса?
Привет! "надеюсь прочитаешь" будто у меня комментариев так много, что легко пропустить 😁
В ближайших планах именно такого нет, но близкое надо будет рассказать
@@SurenKhorenyan Буду очень благодарен
Подача классная, но как по итогу это все применять, почему нет примера с базой данных / регистрацией и тд?
Спасибо!
А как вы JWT с БД применять собираетесь? Я уже рассказывал, что JWT как раз таки self-contained, мы его в бд не складываем.
Регистрация это уже на ваше усмотрение, можно просто при первом обращении создавать учетку, можно форму регистрации делать. в сегодняшнем ролике показал как регистрироваться через FastAPI-Users
Сурен, вопрос, а где лежит сам этот jwt access/refresh токен у клиента, могу ли я его увидеть через консоль разработчика, или он лежит где то глубже в самом браузере? И еще вопрос, как реализовать логаут с такими токенами?
Да, лежит на клиенте. Часто в local storage кладут. Ещё можно просто в куки засовывать, тут зависит от вашей реализации. Логаут простой: клиент забывает токен и всё. Если надо прям запретить использовать этот токен, то в конце ролика показывал поле jti, по нему вносить в блеклист
А в чем глобально смысл использовать аксес и рефреш?
Если стиллером вытащить, то вытащят оба токена. MITM атака тоже не сильно режется, ибо рефреш токен часто будет бегать обновлять аксес.
Какой реальный профит у такого подхода?
При доступе к железу никакие защиты не помогут. А если тырить трафик, то всё же access гораздо чаще ходит, чем refresh
@@SurenKhorenyan чем более надёжным хочешь сделать аксес (коротким по жизни) тем чаще будет ходить рефреш, что приводит к обратной цели - падению секурности.
Короче все как всегда 😁😁 обмазались и радуемся
@@MAKS19961204ну, тут да. Такие современные веяния. В идеале просто куку ставить, но если там трафик потырить, то тоже нет спасения. Спасибо что https хоть какую-то надёжность предоставляет
*мем мужик у доски доказывает* 🤯 спасибо) только я не понял зачем такие сложности с двумя токенами... точнее понятно - безопасность, но оба токена доступны одинаково и соответсвенно если есть возможность украсть то воруются оба, а потом перевыпускать access token через refresh ничего не мешает... или я чего-то недопонял, или чего-то не хватает 🤷
Зависит от хранения и применения токена. Считается, что долгоживущий токен нельзя постоянно гонять, поэтому он для рефреша
Сурен, ты говоришь, что FastAPI JWT Auth устарела и не обновляется.
А как насчет FastAPI Users. Почему ее нельзя использовать?
Привет! Да, можно. Только это более сложная либа, более комплексная. Ролик когда-то будет. Я снимал его в прошлом месяце, материал застрял в монтаже. Когда-нибудь выйдет, может быть даже в этом месяце.
Привет, спасибо за видео!
Можешь подсказать какую админку использовать с FastAPI
Привет, пожалуйста!
Сам не пробовал никакую, слышал про FastAPI-Admin и SQLAlchemy-Admin, можете попробовать и рассказать, что больше понравилось 🙂
ура, спасибо! )
Пожалуйста! 🥰
а зачем создавать рефреш токен если можно просто длительность access токена указать в условный месяц?
Использование как access, так и refresh токенов обеспечивает дополнительный уровень безопасности приложения, позволяя более безопасно обмениваться доступом к ресурсам. Кроме того, refresh токены позволяют управлять сессией пользователя и обновлять access токены без необходимости повторной авторизации.
Где хранить токены?
На клиенте в куках или local storage
Сурен, подскажи пожалуйста, когда access токен сгорает, как происходит обновление токена через рефреш, т.е. это фронтенд определяет что токен сгорел и дергает эндпоинт с /refresh/?
Угу, фронт сначала делает запрос как обычно, получает ошибку, что токен сгорел, и дёргает refresh
@@SurenKhorenyan спасибо)
@@АндрейТарев-т7б пожалуйста! 🥰
Контент супер! Но очень жаль, что нет ссылки на git
Спасибо большое! Ой, реально забыл добавить. Обновил описание, теперь есть ссылка 🥰
@@SurenKhorenyan Спасибо огромное! Внимательно смотрю за Вашим каналом, т.к. тема очень близка. И должен сказать, узнаю что-то новое. Успехов Вам !
@@MB-mi4ed пожалуйста!
Кайф, спасибо! Рад, что вам нравится 😊🥰
В чем смысл? При перехвате злоумышленник получает оба токена и может спокойно генерировать новые токены доступа. Этот вариант использования jwt не практичен. Для этого требуется более надежный способ
Любопытно. А какой вариант вы рекомендуете?
😂Смешно)))
@@USER_____Oo_____USER О чем ты?
Надо видос о применимости вообще, потому что вокруг жвт какой-то каргокульт, пихают везде, даже там где кукисов хватает с головой.
Ну и классика: ruclips.net/video/pYeekwv3vC4/видео.html
Вы абсолютно правы, в общении браузера (клиента) с беком (сервером) зачастую достаточно куки. А вот при machine to machine общении надо использовать либо статик токены, либо что-то такое, типа JWT.
Плюс тут есть полезная нагрузка.
К сожалению, некоторые технологии, которые нам очень не нравятся (например, джаваскрипт, или нода) существуют, потому что они кому-то нужны. Даже если использование неправильное.
К слову, REST API на самом деле значит совсем другое, и подразумевает HATEOAS, а не перекладывание JSON объектов
@@SurenKhorenyan у меня в пэте есть тг-бот, апишка и сайт. По идее взаимодействие тг-бота с апишкой это machine to machine, но я в aiohttp клиенте просто заюзал сессии через кукисы. Так и не понял потенциальных проблем. Для сложных систем с auth-сервером, где oath2 имеет смысл, jwt нужен, наверное
да на самом деле ни такая система авторизации, ни привычный нам апи не нужен, если мы делаем простое веб приложение. просто люди придумывают себе новые способы сложным путём упростить жизнь