JWT часто неправильно понимают. Основное преимущество, которое они предоставляют, - это безгражданство. Если вы go в своей базе данных будете запрашивать привилегии по каждому запросу в любом случае, это в значительной степени потеряно, если не с теоретической, а с практической точки зрения.
Они обычно не хранятся только в http куки, что делает их уязвимыми для XSS, но в то же время позволяет Javascript клиентам читать полезную нагрузку (например, кто вошел в систему, какие привилегии они имеют и так далее). Отсутствие сохранения в файлах cookie также позволяет отправлять их из разных источников, что является практически единственной причиной, по которой они не должны храниться в режиме «только для http» ie (если и только если вы понимаете и принимаете риски этого) .
JWT ни в коем случае не лучше и не магически более безопасны, чем обычные старые токены случайных сессий - в большинстве случаев это совсем наоборот, особенно если учесть, что в отличие от серверных сессий полезная нагрузка JWT является открытым текстом , Он защищен от подделки аутентификацией сообщений, но не защищен от взгляда пользователя, который иногда может стать проблемой.
Если вам не нужны описанные выше функции (без сохранения состояния, доступ с javascript) у вас просто не должно быть дополнительной сложности JWT, вам просто нужен простой старый сеанс.