Этот вопрос проверяет понимание роли подписи в JWT и того, как обеспечивается целостность токена.
Если изменить любые данные в JWT, его подпись станет невалидной. Сервер при проверке обнаружит это и отклонит токен. Даже изменение одного символа в payload приведёт к ошибке валидации. Поэтому JWT нельзя “подправить” на клиенте незаметно.
JWT защищает данные не шифрованием, а криптографической подписью, которая гарантирует целостность.
Подпись JWT — это криптографическая проверка, которая подтверждает, что header и payload не изменялись после выпуска токена сервером.
Сервер создаёт токен
Формирует header и payload.
Подписывает их секретным ключом или приватным ключом.
Клиент хранит и передаёт токен
Обычно без изменений.
Сервер проверяет подпись
Пересчитывает подпись.
Сравнивает с той, что пришла в токене.
Payload меняется → изменяется хэш.
Подпись больше не совпадает.
Сервер получает ошибку проверки.
Запрос считается неавторизованным.
“JWT можно подправить, ведь это Base64” — неверно.
Base64 — это кодирование, а защита строится на подписи.
Любое изменение данных в JWT делает его недействительным, поэтому целостность токена надёжно защищена подписью.