Если вы используете стандартное внедрение зависимостей, каждый раз создается новый экземпляр вашей службы, поэтому поле в классе службы не будет сохранено.
Сессия или локальное хранилище нормально. Механизм JWT предотвращает легкое изменение содержимого клиентом (так как вы должны проверять его в нисходящих серверных службах).
Возможно, вы могли бы сохранить некоторую оригинальную подпись запроса в полезной нагрузке JWT и проверить любые вторичные Запросы по этому совпадению совпадают. Например, IP-адрес, строка агента пользователя и т. Д. c.
Лично (при условии, что оно реализовано правильно), я считаю, что это более чем достаточно для безопасности большинства веб-приложений. Очевидно, что банковские / финансовые приложения могут получить от sh до go лишнюю милю с двухфакторной аутентификацией и т. Д. c.