JWT состоит из трёх Base64-закодированных частей, разделённых точкой: header.payload.signature. Header указывает алгоритм подписи. Payload содержит claims — произвольные данные (user_id, roles, exp). Signature позволяет серверу убедиться, что токен не подделан.
JWT нельзя «отозвать» до истечения срока без blacklist. Храните в httpOnly cookie, а не в localStorage — это защищает от XSS. Устанавливайте короткий exp (15–60 мин) и используйте refresh-токены.