JWT

Категория: Сигурност

Какво е JWT (JSON Web Token)?

JWT (JSON Web Token) е отворен стандарт (RFC 7519) за създаване на токени за достъп, които безопасно предават информация между две страни като JSON обект.

Структура на JWT

JWT се състои от три части, разделени с точки:

  • Header - съдържа типа на токена и алгоритъма за криптиране
  • Payload - съдържа claims (твърдения) - информацията, която се предава
  • Signature - използва се за проверка на автентичността на токена

Как работи JWT?

  1. Потребител се удостоверява с credentials
  2. Сървърът генерира JWT и го изпраща на клиента
  3. Клиентът използва JWT за достъп до защитени ресурси
  4. Сървърът проверява валидността на JWT преди да върне данни

Предимства

  • Без състояние (stateless) - сървърът не съхранява сесия
  • Лесно преносим между различни домейни
  • Подходящ за RESTful API и микроуслуги
  • Поддържа различни алгоритми за подписване

Употреба

JWT се използва основно за:

  • Удостоверяване (Authentication)
  • Авторизация (Authorization)
  • Обмен на информация между партньори