Готовитесь к созданию безопасной аутентификации в своем Java-приложении или боретесь с ней? Не уверены в преимуществах использования токенов (и, в частности, веб-токенов JSON) или в том, как их следует развертывать? Я рад ответить на эти и другие вопросы для вас в этом уроке!
Прежде чем мы углубимся в веб-токены JSON ( JWT ) и библиотеку JJWT (созданную техническим директором Stormpath Лесом Хэзлвудом и поддерживаемую сообществом участников ), давайте рассмотрим некоторые основы.
1. Аутентификация против аутентификации по токену
Набор протоколов, которые приложение использует для подтверждения личности пользователя, называется аутентификацией. Приложения традиционно сохраняют свою идентичность с помощью сеансовых файлов cookie. Эта парадигма основана на хранении идентификаторов сеансов на стороне сервера, что вынуждает разработчиков создавать хранилище сеансов, которое либо уникально и специфично для сервера, либо реализовано как полностью отдельный уровень хранения сеансов.
Аутентификация с помощью токенов была разработана для решения проблем, с которыми идентификаторы сеансов на стороне сервера не справились и не могли справиться. Как и при традиционной аутентификации, пользователи предоставляют проверяемые учетные данные, но теперь им выдается набор токенов вместо идентификатора сеанса. Исходными учетными данными могут быть стандартная пара имени пользователя и пароля, ключи API или даже токены из другого сервиса. (Примером этого является функция аутентификации ключа API Stormpath.)
1.1. Почему жетоны?