Я создаю REST API для обслуживания внешнего интерфейса, но я не совсем уверен в некоторых моментах и надеюсь, что кто-то сможет пролить свет на передовые практики для этого подхода.
API Flask, и я использую JWT. Поэтому, когда пользователь правильно аутентифицируется (передает правильное имя пользователя / пароль md5), я возвращаю JWT. Я также сохраняю JWT в базе данных для имени пользователя, чтобы гарантировать, что в каждый момент времени для каждого пользователя существует только один JWT. Даже если он входит в систему с другого P C, я создал процедуру для внесения в черный список текущего токена.
Что мне неясно, так это то, как работает интерфейс (например, Angular) , может определить, является ли пользователь администратором или обычным пользователем. Должен ли я вернуться назад (например, 0 или 1), чтобы клиент знал, что нужно скрыть определенные навигационные ссылки? Если вы сохраните что-то в кулинаре ie, пользователь все равно сможет изменить это значение и получить доступ к административным ссылкам, так что, возможно, именно в этом я и запутался.
Кроме того, как на фронте обрабатывать проверку, если пользователь был отозван? Допустим, он вошел в систему, токен был отозван, и он щелкнул ссылку другого пользователя. Должны ли мы смотреть на ответ остальных, чтобы определить, является ли он действительным? Например, если токен истекает, мы возвращаем «Token Revoked»
Спасибо!