Этот вопрос может показаться глупым, но я все еще хочу знать, что еще я могу сделать для достижения этой функциональности.
Существует система инвентаризации, построенная как REST API , и существует два типа пользователей.
users
admins
Скажем, когда пользователь входит в систему, ему дается токен JWT, который содержит следующую информацию.
email
, user_id
, user_level
Этот токен декодируется на каждом частном маршруте и проверяет, аутентифицирован ли пользователь, а также проверяет уровень пользователя, чтобы убедиться, что пользователь авторизован для доступа к этому конкретному ресурсу.
Давайте рассмотрим специальный сценарий, когда администратор ( Admin A ) входит в систему и начинает выполнять некоторые действия администратора в системе. Внезапно другой администратор ( SuperAdmin ) хочет понизить Admin A до обычного пользователя по какой-то причине. Однако, хотя теперь Admin A является обычным пользователем, его токен все еще остается токеном администратора. Таким образом, он все еще может выполнять действия администратора, пока токен не истечет автоматически через один час.
Итак, в таком сценарии, как можно истечь этот токен вручную? Должна ли система использовать запрос БД для проверки уровня пользователя для каждого маршрута администратора? Или есть какой-то другой способ добиться этого?
Надеюсь, вы это ясно поняли.