Обычный подписанный компактный JWT имеет header.payload.signature. Сегменты используют URL-безопасный Base64 без обычного padding. Байты header и payload должны быть объектами JSON в корректном UTF-8; подпись остаётся бинарной.
Важен канонический Base64URL
Строгий декодер отклоняет обычные +, / и =, невозможный остаток длины в один символ и ненулевые хвостовые биты. Несколько записей одних байтов усложняют логи и проверку.
Неоднозначность JSON можно исключить
Повторные имена полей разные парсеры понимают по-разному. JWTLens отклоняет дубликаты на любой глубине и сохраняет запись числа, чтобы большое целое не округлялось.
Чек-лист проверки
После просмотра структуры проверяйте компактный токен поддерживаемой JOSE-библиотекой в принимающем сервисе. Зафиксируйте допустимый алгоритм, выберите доверенный ключ по проверенной политике, проверьте подпись до доверия claims, затем примените issuer, audience, subject, expiry, not-before, допуск часов и требования приложения. До авторизации отклоняйте неожиданные critical headers и неоднозначные данные. JWTLens намеренно не принимает эти решения о доверии.