Как следить за изменением авторизации пользователя?
Есть таблица в бд с пользователями, у них в столбцах есть состояние blocked. Авторизация происходит с помощью jwt токенов, в самом токене id пользователя.
Если с авторизацией и регистрацией все норм это реализовано, остаётся узнать как следить за авторизацией пользователя (если токен существует хотя бы)?
Имеет ли смысл рассмотреть Websockets и есть ли аналоги?
Для правильного вопроса надо знать половину ответа
Не надо "следить". У вас должен быть короткоживущий основной токен. Каждый раз при его обновлении проверяйте статус пользователя и не выдавайте новый токен, если пользователь заблокирован.
На протяжении 20 лет я наблюдаю за базами данных и механизмами стриминга событий, слежениями
и прочее. Так вот. Это все НЕ РАБОТАЕТ. Не работает по причине идеологии ACID. Вы не можете операцию
DML считать основанием для генерации события. Потому что DML это не транзакция. Если мы фиксируем
DML commit/rollback операцией - то при этом неочевидно что должна видеть стриминговая платформа.
Она не может откатывать события в обратную сторону. Такой механизм технически дорог. Поэтому
основанием для стриминга событий может быть только событие внутри приложения. PHP, Node, Java e.t.c.
вот там и генерируйте события.
А база данных здесь вообще не помошник. Сканировать таблицу по скедулеру тоже не надо. Это дорого
и не реал-тайм.