Что я должен хранить, чтобы иметь возможность получать информацию из БД с помощью токена JWT в приложении Spring + React - PullRequest
0 голосов
/ 15 февраля 2020

Краткий обзор - я создаю простое веб-приложение с использованием Spring и React, оно позволяет людям хранить слова и переводы, и им могут произвольно задавать эти слова - они практикуют такие языки, как карточки. Сейчас я пытаюсь добавить немного безопасности, чтобы только пользователи, вошедшие в систему, могли управлять своими списками слов.

Итак, вот мой сценарий: пользователь вводит свою информацию в форме входа в систему, он отправляется по почте в бэкэнд. Если информация была правильной, сервер отправляет ответ с токеном JWT в заголовке авторизации. Я храню токен в sessionStorage браузера, и он добавляется к любым запросам ios, поэтому бэкэнд может возвращать любую информацию.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...