Существуют разные методы, но в целом, если ваш JWT действует как своего рода авторизация, вы хотите держать его вне досягаемости внешних Javascript для защиты JWT.
Это можно сделать с помощью использование повара ie, который ограничен вашим доменом и httpOnly
для защиты от CSRF и XSS. Эта опция имеет дополнительную ценность сохранения в сеансах до окончательного срока действия повара ie. Недостатком этого является отсутствие возможности извлекать данные, которые могут потребоваться для отображения в пользовательском интерфейсе. Этот недостаток можно устранить, если иметь конечную точку с проверкой подлинности, которая возвращает пользовательские данные для текущего сеанса с проверкой подлинности.
Другой вариант - если вам нужен доступ к некоторому содержимому jwt во внешнем интерфейсе, вы можете сохранить его. в памяти (так, чтобы он был доступен только для кода вашего приложения путем его инкапсуляции) и отправлялся вместе с заголовком в ваших аутентифицированных http-запросах. Большой недостаток в том, что jwt не будет сохраняться при перезагрузке страницы.