JWT (JSON Web Token) — самодостаточный токен аутентификации. Состоит из трёх частей, разделённых точками: header.payload.signature. Сервер генерирует токен, подписывает секретом — и клиент носит его в заголовке Authorization.
Header: {"alg": "HS256", "typ": "JWT"}
Payload: {"user_id": 42, "exp": 1735689600}
Signature: HMACSHA256(base64(header) + "." + base64(payload), secret)
Плюс: сервер не хранит сессии, токен содержит всю информацию. Минус: нельзя отозвать до истечения срока (обходят через blacklist или короткий TTL + refresh token). В Go популярная библиотека — golang-jwt/jwt. Никогда не храни секреты в payload — он только base64-закодирован, не зашифрован.