Перевірити підпис JSON Web Token (JWT)
- Панель керування
- Документація
- API
Чому потрібно перевіряти JWT?
Перевірка JWT важлива для:
- Безпеки: Запобігання використанню підроблених токенів
- Цілісності: Переконання, що дані не були змінені
- Дійсності: Перевірка терміну дії та інших обмежень
- Довіри: Упевненість у автентичності токена
Підтримувані алгоритми
Наш перевірник JWT підтримує такі алгоритми підпису:
HMAC (Симетричні)
HS256: HMAC з SHA-256 (рекомендований)HS384: HMAC з SHA-384HS512: HMAC з SHA-512
RSA / ECDSA (Асиметричні)
RS256: RSA з SHA-256RS384: RSA з SHA-384RS512: RSA з SHA-512ES256: ECDSA з SHA-256ES384: ECDSA з SHA-384ES512: ECDSA з SHA-512
Формат ключа
Для алгоритмів HMAC (HS256, HS384, HS512):
- Використовуйте секретний ключ у вигляді рядка або Base64
- Приклад:
my-secret-keyабоc2VjcmV0LWtleQ==
Для алгоритмів RSA/ECDSA (RS256, RS384, RS512, ES256, ES384, ES512):
- Використовуйте публічний ключ у форматі PEM
- Приклад:
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxJZ5...
Як працює перевірка JWT?
Перевірка JWT складається з таких кроків:
- Декодування заголовка та payload з Base64URL
- Відновлення ключа на основі алгоритму (HMAC або RSA/ECDSA)
- Обчислення підпису за допомогою заголовка, payload та ключа
- Порівняння підписів для перевірки автентичності токена
- Перевірка тверджень (exp, nbf, iat тощо)
Випадки використання
Перевірка JWT важлива для:
- Автентифікації користувачів у API
- Перевірки цілісності даних
- Авторизації доступу до ресурсів
- Безпечного обміну інформацією між сервісами
Як користуватися перевірником JWT
Використання нашого перевірника JWT:
- Вставте свій JWT-токен
- Введіть секретний ключ (для HMAC) або публічний ключ у форматі PEM (для RSA/ECDSA)
- Натисніть "Перевірити JWT"
- Отримайте результат перевірки підпису та тверджень
Типові помилки
Уникайте цих поширених помилок при роботі з JWT:
- Не перевіряти підпис: Завжди перевіряйте підпис, навіть якщо токен виглядає дійсним
- Використовувати слабкі алгоритми: Уникайте HS256 із коротким ключем чи старих алгоритмів
- Не перевіряти термін дії: Завжди перевіряйте поле
exp - Зберігати чутливі дані: JWT легко декодуються, не зберігайте секрети без шифрування
Тимчасові твердження
JWT містить кілька стандартних тимчасових тверджень:
exp(Expiration Time): Час закінчення дії токена (обов’язковий для перевірки)nbf(Not Before): Tokен недійсний до цього часуiat(Issued At): Час створення токена
Час вказується у формі Unix timestamp (кількість секунд з 1 січня 1970 року).
Перевірник проти декодера
Декодер JWT просто показує вміст токена у читабельному форматі. Він не перевіряє підпис.
Перевірник JWT перевіряє підпис токена та твердження (exp, nbf тощо). Це єдиний спосіб переконатися, що токен дійсний і безпечний для використання.
Поширені запитання про перевірку JWT
Чому мій JWT недійсний?
JWT може бути недійсним з таких причин:
- Неправильний підпис: Ключ не відповідає тому, який використовувався для створення токена
- Термін дії закінчився: Поле
expвказує на минулий час - Зарано активований: Поле
nbfвказує на майбутній час - Недійсний алгоритм: Алгоритм у заголовку не підтримується
- Пошкоджений токен: JWT було змінено після створення
Чи можна перевірити JWT без ключа?
Ні, для перевірки підпису обов’язково потрібен ключ. Ви можете декодувати JWT без ключа, щоб побачити його вміст, але не зможете перевірити його автентичність.
Приклад запиту
curl -X POST https://cdrn.fr/api/v1/tools/jwt-verifier/execute \
-H "Content-Type: application/json" \
-d '{"token":"...","key":"..."}'
Схема вхідних даних
| Поле | Тип | Обов'язкове | За замовчуванням |
|---|---|---|---|
token |
text | ✓ | – |
key |
text | ✓ | – |
Точки доступу
GET https://cdrn.fr/api/v1/tools- перелічує всі доступні інструментиGET https://cdrn.fr/api/v1/tools/jwt-verifier- отримує схему цього інструментуPOST https://cdrn.fr/api/v1/tools/jwt-verifier/execute- виконує цей інструмент з JSON-payload