Читает токен, проверяет подпись или подписывает пробный токен в браузере. HMAC, RSA и ECDSA. Токен не отправляется. Адрес JWKS запрашивается только по вашей кнопке.
Проверить по JWKS читает этот адрес в браузере и скачивает только ключи. Токен остаётся на странице. Адрес должен пускать запрос браузера.
HS использует секрет. RS, PS и ES используют поле ключа. Проверить смотрит токен. Собрать JWT читает заголовок и нагрузку.
JWT — это три части в Base64url: заголовок, нагрузка и подпись. Заголовок и нагрузка — это JSON, они не зашифрованы. Кто имеет токен, тот их читает. Подпись показывает, что нагрузку не меняли, если у вас есть секрет HMAC или открытый ключ. Эта страница читает, проверяет и собирает токен в браузере. Она отмечает alg none, отсутствующий или уже наступивший exp, время в миллисекундах и секрет HMAC короче 32 байт. Токен не отправляется. Контрольная сумма на странице хеша — не подпись JWT. exp — это Unix-время в секундах; другие пояса смотрите на странице метки Unix.
exp сейчас или раньше, он истёк.{"sub":"user-1"} и секрет HMAC secret. Секрет в Base64 остаётся выключенным. Проверить сообщает, что подпись совпадает. Проверка говорит, что секрет из 6 байт и что нет exp. Пример короткий нарочно.iat и exp. Выберите 1 час, и Собрать JWT запишет оба в секундах от текущего момента. Шаблон Пользователь заполняет sub 1234567890, name John Doe и email [email protected]. Доступ заполняет sub user-1 и scope read.HS256, HS384 и HS512 используют секрет. Короче 32 байт подпись всё равно ставится, а Проверка предупреждает. Отмечайте Секрет в Base64 только если секрет и есть Base64. RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384 и ES512 используют PEM или JWK. Открытый ключ проверяет. Закрытый ключ PKCS#8 собирает токен. Закрытый ключ RSA тоже может проверять, потому что открытая половина внутри него. Можно вставить SPKI (BEGIN PUBLIC KEY), PKCS#8 (BEGIN PRIVATE KEY) или RSA PKCS#1. Сертификат отклоняется. Ключ EC с BEGIN EC PRIVATE KEY тоже; экспортируйте PKCS#8. alg none никогда не считается действительным. Проверить следует alg из заголовка. Секрет HMAC не используется для проверки RSA. exp, nbf и iat — это секунды. Число из 13 цифр отмечается, но не переводится. JWKS — это набор ключей или один JWK. Несколько ключей без kid — ошибка. Массив в Заголовке или Нагрузке останавливает Собрать JWT.
sub и exp в токене, который у вас уже есть.Нет. Это Base64url. Не кладите туда пароль, номер документа или карты.
В токене нужны две точки и две части JSON. alg в заголовке должен быть из тех, что знает эта страница. Для HS нужен тот же секрет, что при подписи, и Секрет в Base64 должен совпадать с тем, как секрет хранится. RSA и EC хотят открытый ключ, не сертификат. Прошедший exp — это предупреждение в Проверке, а не несовпадение подписи.
HS256 — один общий секрет. RS256 подписывает закрытым ключом и проверяется открытым. Не отдавайте секрет HMAC другому сервису. Отдайте открытый ключ.
Заголовок говорит, что подписи нет. Эта страница не сочтёт такой токен действительным.
Нет. Сократите exp на сервере, который выдаёт токены, или ведите там список отзыва.
Проверка остаётся в браузере. Проверить по JWKS — единственный запрос, и он скачивает ключи, а не ваш токен. Всё равно не вставляйте действующий рабочий токен на общем компьютере. Если время кажется сдвинутым на несколько часов, число — это UTC, а строка под нагрузкой — часы этого компьютера.