kpodyganov
@kpodyganov
Увлекаюсь фронтенд-разработкой

Как следить за изменением авторизации пользователя?

Есть таблица в бд с пользователями, у них в столбцах есть состояние blocked. Авторизация происходит с помощью jwt токенов, в самом токене id пользователя.

Если с авторизацией и регистрацией все норм это реализовано, остаётся узнать как следить за авторизацией пользователя (если токен существует хотя бы)?

Имеет ли смысл рассмотреть Websockets и есть ли аналоги?
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Не надо "следить". У вас должен быть короткоживущий основной токен. Каждый раз при его обновлении проверяйте статус пользователя и не выдавайте новый токен, если пользователь заблокирован.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
На протяжении 20 лет я наблюдаю за базами данных и механизмами стриминга событий, слежениями
и прочее. Так вот. Это все НЕ РАБОТАЕТ. Не работает по причине идеологии ACID. Вы не можете операцию
DML считать основанием для генерации события. Потому что DML это не транзакция. Если мы фиксируем
DML commit/rollback операцией - то при этом неочевидно что должна видеть стриминговая платформа.

Она не может откатывать события в обратную сторону. Такой механизм технически дорог. Поэтому
основанием для стриминга событий может быть только событие внутри приложения. PHP, Node, Java e.t.c.
вот там и генерируйте события.

А база данных здесь вообще не помошник. Сканировать таблицу по скедулеру тоже не надо. Это дорого
и не реал-тайм.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы