JWT (JSON Web Token) - көптеген API және микросервистік сәулеттерде қолданылатын заманауи авторизация және қауіпсіз деректер алмасу стандарты. Біз пайдаланушылар мен сервистерді аутентификациялау, сессияларды басқару және рөлдер бойынша қолжетімділікті шектеу үшін JWT-ге толық қолдау көрсетеміз.
JWT-токендер клиенттік жағында сақталады, серверде сессияларды қажет етпейді, сонымен қатар түпнұсқалығына және қолдан жасаудан қорғауға кепілдік беру үшін қол қойылады.
JWT не бар
| Белгідегі өріс | Мақсаты |
|---|---|
| sub | Пайдаланушы немесе сервистің идентификаторы |
| exp | Токеннің аяқталу уақыты |
| roles / scopes | Пайдаланушының рөлдері және қол жетімді рұқсаттар |
| signature | Түпнұсқалығын тексеру үшін цифрлық қолтаңба |
| custom claims | Кез келген қосымша деректер: тіл, залдың ID-і, валюта және т.б. |
Іске асыру ерекшеліктері
Пішім: 'header. payload. signature` (в base64)
Қол қою алгоритмдері: HS256 (симметриялы) және RS256 (асимметриялы)
Refresh-токендер мен ротацияны қолдау
CORS, mobile, web және server-to-server клиенттерімен жұмыс істеу
Cookies, localStorage немесе тақырыптарда токенді сақтау мүмкіндігі
JWT пайдалану артықшылықтары
Stateless: серверлік сессияның қажеті жоқ
Мобильді, SPA және микросервистер үшін қолайлы
Масштабтау - көптеген сервистерде оңай іске асырылады
Клиент пен API арасында жылдам деректер алмасу
Икемділік - авторизациялау үшін қажетті кез келген деректерді токенде сақтауға болады
Мұнда әсіресе өзекті
Мобильді және фронтенд қосымшалар
Ішкі сервистік авторизация (S2S)
Бір уақытта пайдаланатын платформалар
Қол жеткізудің нақты рөлдік моделінің қажеттілігі бар жүйелер
JWT - авторизациялау және API қауіпсіздігі үшін сенімді және икемді құрал. Ол сервердің күйіне қарамастан, бағдарламалардың масштабталатын және қауіпсіз жұмысын қамтамасыз етеді.