Аутентификация в Веб-Приложениях 👨‍💻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

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

  • @alexrybalov8917
    @alexrybalov8917 3 года назад +60

    Очень сложная и тяжелая для восприятия информация, поданая очень простым языком. Спасибо Макс.

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

    Отличное видео, хорошая структура подачи материала! Успехов!

  • @fairy-tale-composer
    @fairy-tale-composer 2 года назад +4

    Огромное спасибо! Видео - кладезь информации, объяснения понятны даже фронтендеру :D

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

    Было очень ползено! Спасибо за труд!

  • @user-xg9wt3he9q
    @user-xg9wt3he9q 3 года назад +4

    Полезная инфа, продолжайте в том же духе👍

  • @zak_47
    @zak_47 3 года назад +5

    Очень нравится твой канал! Продолжай в том же духе! И помни "много уроков не бывает" =)

  • @olexisme
    @olexisme 3 года назад +1

    Огромное спасибо за видео:)

  • @Alexander-lp2qy
    @Alexander-lp2qy 3 года назад +16

    1. Сервер не имеет контроля над токенами - принудительное разлогирование можно реализовать без blacklist/whitelist, если подписывать токены секретным ключом + "соль" (уникальная для юзера). При изменении "соли" токен перестанет быть валидным для этого пользователя.
    2. Токены можно использовать на разных доменах - в случае с Http only cookie похоже нельзя.
    3. Защита от угона токена - в токене можно хранить дату, до которого он валиден, и fingerprint пользователя (ip, user-agent и тп).

    • @theban2517
      @theban2517 2 года назад +9

      Соль в данном случае как раз будет неявной реализацией black/white list, а сама архитектура stateful

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

    Спасибо, очень познавательно! Респект!

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

    Спасибо огромное за такое простое объяснение!

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

    Спасибо тебе! Очень доступно объясняешь!

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

    Спасибо Вам большое 🤍

  • @alexrybalov8917
    @alexrybalov8917 3 года назад +1

    Прекрасно объяснил.

  • @svetogor777
    @svetogor777 2 года назад +1

    Спасибо огромное!!

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

    Молодец! Спасибо!

  • @dimon_68_
    @dimon_68_ 2 года назад +1

    Спасибо! Ты понятно объяснил и очень помог

  • @user-vt4fr8pu3d
    @user-vt4fr8pu3d Год назад

    спасибо!

  • @cronosnoname4038
    @cronosnoname4038 3 года назад +2

    Огонь, прям разжевал и в рот положил ! Спасибо за видео очень понятно и информативно :-)

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

    Большое спасибо, относительно просто описали

  • @romanihnatov5629
    @romanihnatov5629 2 года назад +1

    Спасибо, хорошо рассказал!

  • @user-is6dr2zz5c
    @user-is6dr2zz5c 11 месяцев назад

    Это самое понятное объяснение про JWT токены, что я встречал. Спасибо!

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

    Отличный разбор темы!👍 Спасибо!

  • @tilekasankulov5034
    @tilekasankulov5034 3 года назад +1

    Круто!!!

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

    Максим, спасибо за труд, за прекрасную, лаконичную, понятную и структурированную подачу материала. Захотелось посмотреть остальные видео с Вашего канала.

  • @user-cj4wm2en7m
    @user-cj4wm2en7m 2 года назад +1

    Отлично спасибо

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

    Топ! Спасибо за разбор.

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

    Все хорошо, но слово зАголовок с ударением на первый слог, чуть не съело мой мозг.

  • @mrhell2863
    @mrhell2863 3 года назад +15

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

    • @zak_47
      @zak_47 3 года назад +1

      да, норм тема, было бы интересно

  • @gluzdovandrey
    @gluzdovandrey 3 года назад

    Пасиб

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

    Это просто клад а не видео, спасибо

  • @flac1482
    @flac1482 3 года назад

    JWT имба

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

    Очень круто, максимально понятно, спасибо❤‍🔥

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

    спасибо дружище!

  • @user-zh1tx9fo9h
    @user-zh1tx9fo9h 2 года назад +4

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

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

      не всегда, пермишены могут быть и в токене зашиты

  • @sergdeberzherak6264
    @sergdeberzherak6264 2 года назад

    Спасибо!

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

    Спасибо 👍

  • @vonseven
    @vonseven 6 месяцев назад

    пушка 💪

  • @user-yx2ye9qx7i
    @user-yx2ye9qx7i 2 года назад +3

    Идентификация это как раз таки и есть who are you, а вот аутентификация это уже подтверждение того, что ты - это точно ты.
    Проще говоря, когда на сайте просят ввести логин/номер телефона/почту - это идентификация - вы ввели логин user, окей, на сайте вы будете user. Когда просят пароль - это аутентификация: вы user, окей, а докажи это, введя пароль.
    Если путаете понятия, просто вспомните о существовании двухфакторной аутентификация, ведь по сути это подтверждение того, что user это точно вы - вы вели логин и пароль, а сайт говорит: «Логин есть, пароль правильный, но это точно ты? Я отправил на твой телефон смс с кодом, введи его сюда».

  • @shushankharatyan1660
    @shushankharatyan1660 2 года назад +1

    Спасибо

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

    Вопрос. Что обычно кидают в тело токена?
    Было сказано, что в токене лучше не передавать конфиденциальную инфу.
    А что туда пихать? id ?))
    Я вот этот момент не понял.

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

    Так и не понял, JWT используется в access/refresh токенах, или это отдельный вид?

  • @Wivern11
    @Wivern11 3 года назад +55

    Все хорошо, но зАголовок режет слух. ЗаголОвок, если что

    • @TrayHardPlay
      @TrayHardPlay 2 года назад +6

      Тоже резануло, меня вообще такое сильно отвлекает от просмотра

    • @redheroteam
      @redheroteam 2 года назад +1

      Аксесс токен тоже режет слух :))

    • @Ivan-vb7ch
      @Ivan-vb7ch 2 года назад +2

      Он ж с Украины, грех жаловаться

    • @warcraft.mp4889
      @warcraft.mp4889 6 месяцев назад +1

      Он с украины, скажи спасибо что он не на нахрюке говорит..

    • @miha704
      @miha704 6 месяцев назад

      @@warcraft.mp4889русачок образився на мову🥹

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

    Хорошо объяснено. А в сессиях ID сессии тоже ведь генерируется каким то шифрованием?

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

      В принципе, для простоты можно использовать id сессии, которая генерируется БД.
      Но можно и зашифровать некую строку с данными пользователя, которая и будет считатьтся идентификатором, то есть применить тот же подход, что и с токенами.

  • @doctor6261
    @doctor6261 3 года назад +1

    Круто...

  • @vtotbl
    @vtotbl 3 года назад +2

    Классное видео. Не мог бы ты подробнее рассказать про сервис авторизации?

  • @nitkin2z
    @nitkin2z 3 года назад

    А вы можете своих видео, показать тестовое задание, и показать его на примере на go

  • @romanryaboshtan9270
    @romanryaboshtan9270 2 года назад

    1:50 Спасибо, а я всё думал, почему тот парень 403 ошибки на фронтэнд кидал

  • @oleksiilobodiev9446
    @oleksiilobodiev9446 2 года назад +1

    Нам потрібно терміново відео по авторизаціях та ролях :)

  • @dzianishrip5139
    @dzianishrip5139 3 года назад +2

    Микрофон вроде нормальный, а звук нет - зашкаливающе басит

  • @niki-brz
    @niki-brz 2 года назад

    А что такое тогда идентификация?

  • @Ivan-vb7ch
    @Ivan-vb7ch 2 года назад +1

    🔥🔥🔥🔥🔥

  • @inga153
    @inga153 2 года назад

    спасибо

  • @xyanmatus
    @xyanmatus 2 года назад +9

    даешь зАголовок, блеа!)

  • @BoxMail-gs6fl
    @BoxMail-gs6fl Год назад +1

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

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

    в зАголовках))

  • @mike.klinko
    @mike.klinko 6 месяцев назад +1

    Дай боже тобі здоров'я, бо ніхто не міг пояснити. Красава.

  • @tamelepenergy3848
    @tamelepenergy3848 2 года назад

    Видео информативное, спасибо! Но, пожалуйста, говорите слово "загoлОвок" правильно, ухо режет :)

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

    ЗаголовОк... ))) разве нет? )) у Макса такое произношение этого слова, что я остальные его слова не слышу ))

  • @artemiy_
    @artemiy_ 2 года назад +2

    что мешает злоумышленнику перехватить айди сессии и заполучить доступ?

    • @benitozara5011
      @benitozara5011 2 года назад +2

      как говорит он, то что в куки, к тому js через xss не доберётся

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

      @@benitozara5011 , можно перехватить пакеты, если http.

    • @dreksenthebest9738
      @dreksenthebest9738 20 часов назад

      он же сказал, что данные шифруются

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

    Макс, є запитання. Сервер генерує пару токенів, refreshToken з яких зберігається в БД. В такому випадку це не означає, що сервер стає stateful?
    І ще одне невелике запитання. Якщо зберігати токен в http only куках, а не в local/session storage, тоді яким чином ми зможемо відправляти реквест із заголовком Authorization з клієнта? Нам ж потрібно витягнути звідкись цей токен за допомогою JS, або ж я щось не зрозумів...

  • @redice8928
    @redice8928 6 месяцев назад

    А как клиент отправляет пароль и логин на сервер. Он шифруется? Если шифруется, то как передаются ключи шифрования, как это работает?

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

      Http не шифрует
      Почитай про https

  • @vic_shine
    @vic_shine 3 года назад +3

    Ещё бы живой пример каждого подхода, например, бэк на Go и форма авторизации на React - вообще было бы супер. Чувствуется какая-то недосказанность в видео.

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

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

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

    зАгловок ахаха

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

    зАголовок? Ты норм? Зачем ты так говоришь, если это неправильно

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

    зАголовок🤦‍♂

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

    зАголовок? Ты серьезно?

  • @user-iw9zi7qp4t
    @user-iw9zi7qp4t 10 месяцев назад

    ЗаголОвок

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

    Ударение в слове "зАголовок" - не на первый слог. Проверочное слово "голова". Учите русский язык.

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

      выучи за 2 года украинский на том уровне, на котором я выучил русский
      тогда поговорим

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

    Дружище, ну ненавидишь ты русский язык или просто слово заголовок, ну скажи header. Зачем так уродовать слово то?

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

    заголОвок

  • @user-lj9ft7te2z
    @user-lj9ft7te2z 3 месяца назад

    Ударение у автора странноватое: дОмены и зАголовки

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

    Отличное видео, хорошая структура подачи материала! Успехов!

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

    спасибо!

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

    спасибо!