VueJS - Как я могу проверить, был ли изменен идентификатор пользователя в локальном хранилище, чтобы я мог проверить, действителен ли токен

У меня есть Django back end и Vue front end. Люди могут входить в систему. Идентификатор пользователя и токен извлекаются из back end и сохраняются в localstorage после успешного входа. Этот идентификатор затем используется в моем магазине Vue, чтобы пользователь мог получить все данные, связанные с его учетной записью. Войдя в систему, вы можете получить доступ ко всем функциям и увидеть содержимое, связанное с пользователем (допустим, ID = 1).

Авторизация с обратной стороны происходит через токен, который отправляется в заголовках запроса с лицевой стороны. Правильно ли это? Но бэк-энд (Django) не проверяет, что токен, отправляемый в заголовке, принадлежит конкретному пользователю, каждый раз, когда происходит запрос, я прав или нет?

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

Если я изменю ID в локальном хранилище, я смогу просматривать данные другого пользователя, потому что, согласно Django, токен все еще действителен, потому что, по моим наблюдениям, токен в заголовках запроса не проверяется на пользователя, только на то, что он существует.

Мой вопрос заключается в следующем:

Есть ли способ для заголовка запроса с токеном включить идентификатор пользователя, а затем для бэкэнда Django проверять при каждом запросе, действительно ли токен принадлежит пользователю, чей идентификатор я отправляю в заголовке.

У меня есть конечная точка для проверки токена, но это кажется двойной работой и дополнительными накладными расходами.

Невозможно изменить этот ID в локальном хранилище, если только пользователь не пойдет и не изменит его сам, что я хочу предотвратить, или проверить, если это произошло, действителен ли токен, который я отправляю в заголовках. Не проверять токен при каждой загрузке страницы

Я хотел бы понять процесс и, конечно, безопасность.

Вернуться на верх