Мазмунга өтүү

JWT аркылуу аутентификация

Сабактын башталышы

JWT аркылуу аутентификация

Абалы жок серверде колдонуучунун ким экенин далилдөө — токендерди кол коюу, сырсөздөрдү хештөө, маршруттарды коргоо

Негизги идея: HTTP суроо-талаптардын ортосунда сизди унутат. JSON Web Token (JWT) — бул кирүүдө сервер берген кичинекей, санарип кол коюлган пропуск. Клиент аны ар бир суроо-талап менен кайра жөнөтөт, жана сервер ага эч нерсе сактабай ишене алат — анткени өзү түзгөн кол тамганы текшере алат.
Сабактын аягында сиз үйрөнөсүз:
  • аутентификация менен авторизациянын айырмасын түшүндүрүүнү,
  • сырсөздөрдү bcrypt менен хештөөнү жана текшерүүнү (ачык текстти эч качан сактабай),
  • JWT'лерди jsonwebtoken китепканасы менен кол коюуну жана текшерүүнү,
  • жеке маршруттарды коргогон middleware жазууну жана токендердин чыныгы соодалашууларын түшүнүүнү.

1. Аутентификация жана авторизация, жана абалсыздык маселеси

Аутентификация «сиз кимсиз?» деген суроого жооп берет — электрондук почта жана сырсөз менен кирүү. Авторизация «сизге эмне кылууга уруксат?» деген суроого жооп берет — мисалы, колдонуучуну жалаң гана администратор өчүрө алат. Булар башка кадамдар: адегенде аутентификациядан өтөсүз, анан сервер ар бир аракетти авторизациялайт.

Кыйынчылык мына мында. HTTP абалсыз (stateless): ар бир суроо-талап өз алдынча турат жана сервер мурункусу тууралуу эстутум сактабайт. Ошондо кирүүдөн кийин экинчи суроо-талап анын ошол эле адам экенин кантип далилдейт? Эки классикалык жооп:

  • Сервердик сессиялар. Кирүүдө сервер сессия жазуусун сактайт жана клиентке cookie ичинде туш келди сессия идентификаторун жөнөтөт. Ар бир суроо-талапта сервер бул идентификаторду өз сактагычынан издейт. Жөнөкөй, бирок сервер ар бир кирген колдонуучуну эстеши керек, бул көп машинага масштабдоо үчүн кыйыныраак.
  • Токендер (JWT). Кирүүдө сервер клиентке колдонуучунун инсандыгын мурдатан камтыган кол коюлган токен берет. Сервер эч нерсе сактабайт; ал жөн гана ар жолу кол тамганы кайра текшерет. Бул абалсыз аутентификация, жана ал табигый түрдө масштабдалат.

Салыштыруу. Сессия идентификатору — кийим сактагычтын номериндей: номер өз алдынча эч нерсени билдирбейт, жана сактагыч дал келүү тизмесин кармашы керек. JWT — жасалма голограммасы бар фестиваль билериги сыяктуу: билерик өзү «чоң киши, 3 күндүк пропуск» деп айтат, жана каалаган күзөтчү кассага чалбай эле голограмманын чыныгы экенин ырастай алат.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө