Аутентификация в Веб-Приложениях 👨💻JWT и Сессии
HTML-код
- Опубликовано: 26 июн 2024
- Roadmap по каналу - bit.ly/3yKtxWf
Курс GOLANG NINJA - bit.ly/3F8hvZW
Получи бесплатный Roadmap для Backend разработчика -
Таймкоды:
00:00 - Авторизация vs Аутентификация
02:22 - Сессии
05:37 - HTTP cookie
08:54 - Токены
15:45 - JWT
21:40 - Сессии vs Токены
#программирование #разработка #web #it #frontend #backend
Очень сложная и тяжелая для восприятия информация, поданая очень простым языком. Спасибо Макс.
Отличное видео, хорошая структура подачи материала! Успехов!
Огромное спасибо! Видео - кладезь информации, объяснения понятны даже фронтендеру :D
Было очень ползено! Спасибо за труд!
Полезная инфа, продолжайте в том же духе👍
Очень нравится твой канал! Продолжай в том же духе! И помни "много уроков не бывает" =)
Огромное спасибо за видео:)
1. Сервер не имеет контроля над токенами - принудительное разлогирование можно реализовать без blacklist/whitelist, если подписывать токены секретным ключом + "соль" (уникальная для юзера). При изменении "соли" токен перестанет быть валидным для этого пользователя.
2. Токены можно использовать на разных доменах - в случае с Http only cookie похоже нельзя.
3. Защита от угона токена - в токене можно хранить дату, до которого он валиден, и fingerprint пользователя (ip, user-agent и тп).
Соль в данном случае как раз будет неявной реализацией black/white list, а сама архитектура stateful
Спасибо, очень познавательно! Респект!
Спасибо огромное за такое простое объяснение!
Спасибо тебе! Очень доступно объясняешь!
Спасибо Вам большое 🤍
Прекрасно объяснил.
Спасибо огромное!!
Молодец! Спасибо!
Спасибо! Ты понятно объяснил и очень помог
🙌🏻
спасибо!
Огонь, прям разжевал и в рот положил ! Спасибо за видео очень понятно и информативно :-)
Большое спасибо, относительно просто описали
Спасибо, хорошо рассказал!
Это самое понятное объяснение про JWT токены, что я встречал. Спасибо!
Отличный разбор темы!👍 Спасибо!
Круто!!!
Максим, спасибо за труд, за прекрасную, лаконичную, понятную и структурированную подачу материала. Захотелось посмотреть остальные видео с Вашего канала.
Отлично спасибо
Топ! Спасибо за разбор.
Все хорошо, но слово зАголовок с ударением на первый слог, чуть не съело мой мозг.
Как будет время, разбери пожалуйста на примерах, как правильно организовать роли и права и что используют обычно, casbin или самому можно написать реализацию. Желательно не только админ, гость, пользователь а более кастомные с назначением прав и тд.
да, норм тема, было бы интересно
Пасиб
Это просто клад а не видео, спасибо
JWT имба
Очень круто, максимально понятно, спасибо❤🔥
спасибо дружище!
Серверу нужна информация о записи текущей сессии пользователя в любом случае. В случае сессий по куки он их ищет в каком-нибудь реддисе, либо же у себя в папочке в txt документе. В случае токена, он лезет в базу, что бы найти этого пользователя и его пермишены, так что в общем то оверхеда никакого нет.
не всегда, пермишены могут быть и в токене зашиты
Спасибо!
Спасибо 👍
пушка 💪
Идентификация это как раз таки и есть who are you, а вот аутентификация это уже подтверждение того, что ты - это точно ты.
Проще говоря, когда на сайте просят ввести логин/номер телефона/почту - это идентификация - вы ввели логин user, окей, на сайте вы будете user. Когда просят пароль - это аутентификация: вы user, окей, а докажи это, введя пароль.
Если путаете понятия, просто вспомните о существовании двухфакторной аутентификация, ведь по сути это подтверждение того, что user это точно вы - вы вели логин и пароль, а сайт говорит: «Логин есть, пароль правильный, но это точно ты? Я отправил на твой телефон смс с кодом, введи его сюда».
Спасибо
Вопрос. Что обычно кидают в тело токена?
Было сказано, что в токене лучше не передавать конфиденциальную инфу.
А что туда пихать? id ?))
Я вот этот момент не понял.
Так и не понял, JWT используется в access/refresh токенах, или это отдельный вид?
Все хорошо, но зАголовок режет слух. ЗаголОвок, если что
Тоже резануло, меня вообще такое сильно отвлекает от просмотра
Аксесс токен тоже режет слух :))
Он ж с Украины, грех жаловаться
Он с украины, скажи спасибо что он не на нахрюке говорит..
@@warcraft.mp4889русачок образився на мову🥹
Хорошо объяснено. А в сессиях ID сессии тоже ведь генерируется каким то шифрованием?
В принципе, для простоты можно использовать id сессии, которая генерируется БД.
Но можно и зашифровать некую строку с данными пользователя, которая и будет считатьтся идентификатором, то есть применить тот же подход, что и с токенами.
Круто...
Классное видео. Не мог бы ты подробнее рассказать про сервис авторизации?
А вы можете своих видео, показать тестовое задание, и показать его на примере на go
1:50 Спасибо, а я всё думал, почему тот парень 403 ошибки на фронтэнд кидал
Нам потрібно терміново відео по авторизаціях та ролях :)
Микрофон вроде нормальный, а звук нет - зашкаливающе басит
А что такое тогда идентификация?
🔥🔥🔥🔥🔥
спасибо
даешь зАголовок, блеа!)
Самое понятное объяснение, которое я нашел. Такое впечатление, что люди выкладывают видео для того, чтобы показать какие они великие программисты. Новичкам надо рассказывать максимально просто. А синьоры это уже итак знают.
в зАголовках))
Дай боже тобі здоров'я, бо ніхто не міг пояснити. Красава.
Видео информативное, спасибо! Но, пожалуйста, говорите слово "загoлОвок" правильно, ухо режет :)
ЗаголовОк... ))) разве нет? )) у Макса такое произношение этого слова, что я остальные его слова не слышу ))
заголОвок
что мешает злоумышленнику перехватить айди сессии и заполучить доступ?
как говорит он, то что в куки, к тому js через xss не доберётся
@@benitozara5011 , можно перехватить пакеты, если http.
он же сказал, что данные шифруются
Макс, є запитання. Сервер генерує пару токенів, refreshToken з яких зберігається в БД. В такому випадку це не означає, що сервер стає stateful?
І ще одне невелике запитання. Якщо зберігати токен в http only куках, а не в local/session storage, тоді яким чином ми зможемо відправляти реквест із заголовком Authorization з клієнта? Нам ж потрібно витягнути звідкись цей токен за допомогою JS, або ж я щось не зрозумів...
А как клиент отправляет пароль и логин на сервер. Он шифруется? Если шифруется, то как передаются ключи шифрования, как это работает?
Http не шифрует
Почитай про https
Ещё бы живой пример каждого подхода, например, бэк на Go и форма авторизации на React - вообще было бы супер. Чувствуется какая-то недосказанность в видео.
Всё сказано абсолютно четко и понятно - где хранить и как передавать. Если кто-то хочет узнать как создавать сессии, устанавливать куки, генерировать токены и т.д, тот пойдёт и найдёт эту информацию в интернете.
зАгловок ахаха
зАголовок? Ты норм? Зачем ты так говоришь, если это неправильно
зАголовок🤦♂
зАголовок? Ты серьезно?
ЗаголОвок
Ударение в слове "зАголовок" - не на первый слог. Проверочное слово "голова". Учите русский язык.
выучи за 2 года украинский на том уровне, на котором я выучил русский
тогда поговорим
Дружище, ну ненавидишь ты русский язык или просто слово заголовок, ну скажи header. Зачем так уродовать слово то?
заголОвок
Ударение у автора странноватое: дОмены и зАголовки
Отличное видео, хорошая структура подачи материала! Успехов!
спасибо!
спасибо!