Любой может закодировать header и payload в Base64URL. Читаемость доказывает только возможность декодирования байтов, а не автора и неизменность. Подпись имеет смысл после выбора разрешённого алгоритма и доверенного ключа по политике приложения.
Четыре разных вопроса
Разбор проверяет синтаксис. Подпись — соответствие защищённых байтов доверенному ключу. Проверка claims — issuer, audience и время по политике. Авторизация — право subject на действие. Успех слоя не означает успех следующего.
Не доверяйте alg из токена
alg в header — недоверенный ввод, а не разрешение выбрать любой верификатор. Сервису нужен собственный список алгоритмов и отказ от none, подмены алгоритма и путаницы типов ключей.
Чек-лист проверки
После просмотра структуры проверяйте компактный токен поддерживаемой JOSE-библиотекой в принимающем сервисе. Зафиксируйте допустимый алгоритм, выберите доверенный ключ по проверенной политике, проверьте подпись до доверия claims, затем примените issuer, audience, subject, expiry, not-before, допуск часов и требования приложения. До авторизации отклоняйте неожиданные critical headers и неоднозначные данные. JWTLens намеренно не принимает эти решения о доверии.