Краткий обзор - я создаю простое веб-приложение с использованием Spring и React, оно позволяет людям хранить слова и переводы, и им могут произвольно задавать эти слова - они практикуют такие языки, как карточки. Сейчас я пытаюсь добавить немного безопасности, чтобы только пользователи, вошедшие в систему, могли управлять своими списками слов.
Итак, вот мой сценарий: пользователь вводит свою информацию в форме входа в систему, он отправляется по почте в бэкэнд. Если информация была правильной, сервер отправляет ответ с токеном JWT в заголовке авторизации. Я храню токен в sessionStorage
браузера, и он добавляется к любым запросам ios, поэтому бэкэнд может возвращать любую информацию.
Вопрос: у каждого пользователя есть свой набор Словари (один словарь содержит список слов и соответствующие переводы), и я получаю его, например, /findUsersDictionaries?id=xxx
, где xxx - идентификатор пользователя в БД. Должен ли я после успешного входа в систему декодировать токен (например, с помощью jwt-decode) и получать имя пользователя, сделать еще один запрос, чтобы найти идентификатор пользователя и сохранить его в sessionStorage
, как токен JWT, чтобы я мог отправлять запросы на получение словарей, слов и слов текущего пользователя переводы? Я мог бы также сделать это по имени пользователя из токена JWT, поскольку имя пользователя уникально, но мне придется декодировать его при каждом запросе. Что вы думаете? Вот ссылка на репо с проектом .