Перейти к содержанию

Проверка подписи JWT

Локально проверьте подпись JWT с помощью секрета или открытого ключа, а при необходимости — издателя, аудиторию, срок и начало действия.

JWT

Выберите ожидаемый алгоритм независимо. header.alg не меняет выбор.
Явно выберите семейство ключа; alg в token не меняет выбор.

Алгоритм, заявленный token

Неизвестно

Открытый ключ

Поддерживается только блок SPKI PUBLIC KEY PEM или один публичный JWK.

Допускает указанное расхождение часов при проверке временных Claims.
Приватная локальная проверка
Проверка полностью выполняется в браузере. Token, секрет или открытый ключ, ожидаемые издатель и аудитория, а также результат проверки не записываются в URL, Workspace или WebDAV.
При включённой синхронизации WebDAV могут синхронизироваться только четыре нечувствительные настройки: ожидаемый алгоритм, тип ключа, кодировка секрета и допуск часов.
Готово к проверке
Выберите ожидаемый алгоритм независимо. header.alg не меняет выбор.
Проверка подписи JWT

Быстрый старт

1
Вставьте подписанный compact JWT ровно из трёх частей, разделённых точками.
2
Введите соответствующий секрет HMAC, открытый ключ SPKI PEM или публичный JWK.
3
При необходимости задайте ожидаемого издателя, аудиторию и допуск часов.
4
Проверьте алгоритм, формат ключа, Header и Claims, не считая результат авторизацией.

Частые сценарии

Отладка API

проверьте, дают ли token и известный ключ действительную подпись.

Миграция

проверяйте tokens при смене ключей HS, RS, PS или ES.

Соответствие ключа

проверьте, относится ли открытый ключ к подписанному token.

Claims

сравните iss, aud, exp и nbf с требованиями интеграции.

Рекомендации по использованию

Получайте ключи по доверенному каналу и подтвердите издателя и аудиторию, ожидаемых backend.
Считайте секреты HMAC и tokens конфиденциальными и очищайте их после работы, особенно на общем устройстве.
Используйте проверку только для диагностики. Backend должен сам применять авторизацию, отзыв, сессии и бизнес-правила.

Условия проверки

Вход должен быть compact JWS JWT из трёх частей: header.payload.signature. JWE из пяти частей и вложенные или нестандартные форматы не поддерживаются.
Семейство ключа и ожидаемый алгоритм выбираются независимо. header.alg не меняет выбор, и все три должны совпасть. HS использует UTF-8 или Base64URL; RS/PS/ES — SPKI PEM или публичный JWK.
Инструмент проверяет подпись, exp и nbf; iss или aud — только если вы задали ожидаемое значение. Допуск применяется ко времени.

Граница безопасности

Действительная подпись означает соответствие байтов ключу и алгоритму; она не устанавливает источник ключа и надёжность издателя.
Не проверяются scopes, роли, права, отзыв, выход, сессия, nonce, azp, политика subject и бизнес-правила; доступ не предоставляется.
Отдельно подтвердите ключ, издателя, аудиторию и политику алгоритмов. Ошибочная, но согласованная пара token-ключ тоже может пройти.
Не поддерживаются JWE, выпуск или подписание, закрытые ключи, сертификаты X.509, EdDSA, JWK sets/JWKS, OIDC, удалённая загрузка ключей и серверная интроспекция.

Ограничения и совместимость

Только подписанные compact JWS JWT из трёх частей; зашифрованные JWE из пяти частей не принимаются.
Только поддерживаемые HS, RS, PS и ES; alg none и EdDSA отклоняются.
Только блок SPKI PUBLIC KEY PEM или один публичный JWK, без закрытых ключей, сертификатов, JWKS и URL ключей.
Без сети, OIDC, обновления JWKS, проверки отзыва, выпуска, подписи, скачивания и публикации результата.

Конфиденциальность и безопасность

Разбор и проверка выполняются локально в браузере. Tokens, секреты, PEM/JWK, издатель, аудитория и результаты не отправляются и не сохраняются в URL, Workspace или WebDAV. При включённой синхронизации WebDAV могут синхронизироваться только четыре нечувствительные настройки: ожидаемый алгоритм, тип ключа, кодировка секрета и допуск часов.
Используйте личное устройство, очистите поля после работы и избегайте ненадёжных расширений и демонстрации экрана.

Частые вопросы

6

Перейдите к следующему шагу с этими связанными инструментами.

Вся обработка инструментов выполняется локально в вашем браузере.