Добрый день, друзья,
Я занимаюсь разработкой приложения, в моей пользовательской системе добавьте функции для администраторов, чтобы повысить уровень учетной записи (если уровень 10, это администратор) или запретить ее на сайте.
Как только пользователь входит в систему, он получает токен, который содержит информацию об уровне его учетной записи, независимо от того, заблокирован он или нет.
Эта функция работает отлично, но если пользователь заблокирован, они могут продолжать использовать сайт, пока не получат новый токен или срок его действия не истек, поскольку информация получена из токена. Я хочу заставить пользователя закрыть свой сеанс (уничтожить токен JWT), как только он будет заблокирован или его уровень отредактирован.
Я могу проверить в маршрутах, что каждый раз, когда пользователь делает вызов, серверная часть проверяетв базе данных, если пользователь забанен или нет. Но я бы хотел упростить этот шаг, чтобы сервер не делал так много обращений к базе данных. Мне приходит в голову удалить определенный токен пользователя или сделать его недействительным после того, как его забанят с сайта или его уровень будет изменен. Таким образом, пользователь вынужден снова войти в систему и получить новый токен.
Существует ли метод или библиотека, которые позволяют мне легко удалить токены или сделать их недействительными?
Потому что еслия вхожу с моей учетной записью администратора и пытаюсь отредактировать свою учетную запись и дать ей уровень 1, я больше не смогу редактировать этого пользователя, потому что мой lvl равен 1, и мне снова нужен lvl 10 для использования функций этого маршрута, но я могу редактироватьэто снова, потому что авторизация токена действительна, и это не должно произойти