Безопасность JWT
- Используйте секрет длиной от 32 байт для алгоритмов семейства HMAC (HS256/HS384/HS512) — короткий секрет подбирается перебором.
- Не храните чувствительные данные в payload: содержимое JWT кодируется в Base64, а не шифруется, и его может прочитать кто угодно.
- Всегда устанавливайте срок действия токена (claim
exp), чтобы ограничить время жизни украденного токена. - На сервере явно проверяйте алгоритм подписи из заголовка токена — не доверяйте значению
algиз самого токена без сверки с ожидаемым алгоритмом (защита от атаки «alg: none»).