Перейти до вмісту

Верифікатор JWT

Перевірте, чи справжній вебтокен JSON і чи не завершився термін його дії. Вставте токен разом із секретом HMAC, відкритим ключем PEM, сертифікатом, JWK або цілим JWKS. Верифікатор перевірить підпис за допомогою бібліотеки jose, порівняє exp і nbf із поточним часом і, за потреби, з урахуванням допустимого відхилення годинника, а поруч із декодованими заголовком і твердженнями покаже чіткий результат. Токени з alg none відхиляються.

Скинути

Поширені запитання

Що перевіряє верифікатор?

Він перевіряє підпис за наданим вами ключем, а потім порівнює твердження exp і nbf із поточним часом. Результат буде дійсним лише тоді, коли підпис збігається і жодна з перевірок часу не завершується помилкою. Твердження на зразок iss, aud або sub відображаються в корисному навантаженні, але не порівнюються з очікуваними значеннями.

Які ключі можна вставити?

Для HS256, HS384 і HS512 вставте спільний секрет як текст або oct JWK. Для токенів RSA, EC і EdDSA вставте відкритий ключ PEM (SPKI або PKCS #1), сертифікат X.509, відкритий чи приватний JWK, JWKS із кількістю ключів до 50 або приватний ключ PEM, з якого використовується лише відкрита частина.

Як із JWKS вибирається потрібний ключ?

Якщо заголовок токена містить kid, використовується ключ із таким самим kid у наборі, а якщо відповідного ключа немає, у повідомленні про помилку буде вказано kid. Якщо kid відсутній, набір має містити рівно один ключ. Так само більшість серверів вибирають ключі з документа jwks_uri.

Для чого потрібен параметр алгоритму?

Якщо вибрано Use the token's alg, алгоритм береться із заголовка токена, але ключ усе одно має йому відповідати, тому відкритий ключ RSA не можна використовувати як секрет HMAC. Виберіть конкретний алгоритм, щоб також вимагати його використання в токені: саме так сервер має зафіксувати очікуваний алгоритм. Токен з іншим alg буде відхилено, а в повідомленні буде вказано обидві назви.

Чому токен з alg none відхиляється?

Токен з alg none не містить підпису, тож перевіряти нічого, і його міг створити будь-хто. Прийняття таких токенів — відома вразливість у бібліотеках JWT. Верифікатор повідомляє про помилку, а не про успішну перевірку.

Як працюють exp, nbf і допустиме відхилення часу?

Токен вважається простроченим, якщо час exp настав або минув, і ще не дійсним, якщо nbf пізніший за поточний час. Допустиме відхилення часу від 0 до 3600 секунд розширює обидві перевірки, щоб врахувати розбіжності між годинниками серверів. Якщо наявні твердження не є числовими, токен вважається недійсним.

Що означає недійсний підпис?

Токен підписано не наданим вами ключем або його заголовок чи корисне навантаження змінили після підписання. Переконайтеся, що вставили відповідний відкритий ключ або секрет, зокрема всі символи без змін, і що скопіювали токен повністю. Декодовані заголовок і корисне навантаження все одно відображаються, щоб ви могли їх порівняти.

Які алгоритми підтримуються?

HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512 і EdDSA з ключами Ed25519. Ключі RSA мають містити щонайменше 2048 бітів. Зашифровані токени (JWE) не розшифровуються.

Токен або ключ зберігається?

Ні. Токен і ключ використовуються лише для цієї перевірки в пам’яті й ніколи не записуються в журнали чи не зберігаються. Відкритим ключем можна безпечно ділитися, а із секретами HMAC слід бути обережними та змінити будь-який секрет, який міг потрапити до сторонніх.

Який максимальний розмір токена й ключа?

Довжина токена може становити до 65,536 символів, а поля ключа — до 262,144 символів, чого достатньо для великих документів JWKS. Токен має містити три частини base64url, розділені крапками, заголовок JSON із параметром alg і об’єкт JSON як корисне навантаження.

Про OneClick Pro

OneClick Pro — це безкоштовна колекція з понад 150 вебінструментів для повсякденної роботи: конвертації зображень і одиниць, форматування та перевірки коду, перевірки доменів і SEO, а також роботи з текстом, датами й числами. Кожен інструмент працює без реєстрації чи передплати, а введені вами дані використовуються лише для обчислення результату й ніколи не зберігаються. Використовуйте цю добірку як швидкий набір інструментів для разових завдань або додайте в закладки інструменти, якими користуєтеся щодня.