В основном JWT позволяют вам избегать использования сессий полностью и не хранить их в БД, JWT походит на паспорт, который вы даете пользователю , который заявляет его (ID, например имя пользователя), роль и любые другие данные (которые нечувствительны, если кто-то видит), , поэтому вы никогда не должны хранить пароль в JWT
Безопасность JWT в основном заключается в том факте, что никакой другой объект не может имитировать его (если вы используете надежный ключ для подписи), и, хотя это возможно для шифрования вашего JWT, вам не нужно шифровать его, пока вы этого не сделаете.положить конфиденциальные данные в нем.Я думаю, вам следует попробовать этот веб-сайт , чтобы увидеть, как подпись защищает подлинность JWT
. Поэтому вы должны создать API /login
, это проверит вашего пользователя.учетные данные, а затем передайте ему JWT (в котором говорится, что он является пользователем 'joe', например, с ролью 'admin'), а затем вы проверяете и проверяете этот JWT в своих фильтрах, чтобы аутентифицировать и авторизовать пользователя для действий в вашем веб-приложении
Чтобы получить JWT, пользователь должен предоставить вам свои учетные данные в соединении HTTPS, что сделает само соединение зашифрованным, таким образом защищая его учетные данные от перехвата или атак типа «человек посередине»