Какой лучший способ для аутентификации токена. JWT или любой другой метод

Я использовал аутентификацию JWT на моем веб-сайте для регистрации данных. Похоже, мы можем декодировать токен JWT без ключа. Попробуйте сайт ниже. Это шокирует меня. Так есть ли лучший способ аутентификации токена, кроме аутентификации токена JWT?

http://calebb.net/

Вы можете попробовать с любым ключом. Пример с сайта https://medium.com/@siddharthac6/json-web-token-jwt-the-right-way-of-implementing-with-node-js-65b8915d550e

Токен: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhMSI6IkRhdGEgMSIsImRhdGEyIjoiRGF0YSAyIiwiZGF0YTMiOiJEYXRhIDMiLCJkYXRhNCI6IkRhdGEgNCIsImlhdCI6MTUyNTE5MzM3NywiZXhwIjoxNTI1MjM2NTc3LCJhdWQiOiJodHRwOi8vbXlzb2Z0Y29ycC5pbiIsImlzcyI6Ik15c29mdCBjb3JwIiwic3ViIjoic29tZUB1c2VyLmNvbSJ9.ID2fn6t0tcoXeTgkG2AivnG1skctbCAyY8M1ZF38kFvUJozRWSbdVc7FLwot-bwV8k1imV8o0fqdv5sVY0Yzmg

1 ответ

Предоставленный вами токен является JWS, то есть подписанным токеном. Как и любые другие данные с цифровой подписью, данные могут быть прочитаны.

Я думаю, что путаница происходит из статьи, которую вы упомянули, где она написана Encryption algorithm to be used to protect the token тогда как для JWS алгоритм является алгоритмом подписи.

Надеюсь, пользователь прокомментировал It [the token] is encoded in plain base64,

Другие пользователи SO указали на этот вопрос и этот другой, которые очень похожи.

  • Обычно токены просто подписаны ( JWS)
  • Токены также могут быть зашифрованы ( JWE) или подписаны, а затем зашифрованы ( вложенные токены)

С помощью соответствующих средств (только хранение сеанса, канал HTTPS, Httponly+ защищенные файлы cookie) JWS может быть идеально защищен, даже если содержимое может быть прочитано.

Другие вопросы по тегам