Для подписанного JWT библиотека проверяет JWS над header и payload выбранным доверенным ключом. Хеширование даёт необратимый отпечаток, шифрование скрывает данные с возможностью расшифрования.
Как проверяется подпись JWT с помощью ключа? Чем хеширование отличается от шифрования?
Для подписанного JWT библиотека проверяет JWS над header и payload выбранным доверенным ключом. Хеширование даёт необратимый отпечаток, шифрование скрывает данные с возможностью расшифрования.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для подписанного JWT библиотека проверяет JWS над header и payload выбранным доверенным ключом. Хеширование даёт необратимый отпечаток, шифрование скрывает данные с возможностью расшифрования.
Алгоритм разрешают заранее, а не принимают произвольно из токена. Для HMAC нужен общий секрет, для асимметричной подписи — открытый ключ издателя. Помимо подписи проверяют ожидаемые issuer, audience и сроки. Base64url не является шифрованием; содержимое обычного подписанного JWT читается без ключа. Проверку криптографии лучше доверить проверенной библиотеке.
Источник: www.rfc-editor.org.