он подключен и при отключении от них пользователь переводится в офлайн(мне в сущности для этого то и надо), но если выйти из лк, он всё равно поключен к сокетам и в офлайн соответственно не переводит
Если это вебсокеты, то ты всегда можешь пройтись раз в какое-то время по списку коннектов и послать ping ему. Не ответил - рви коннект. Сделай интервал, скажем, минуту или меньше. Тогда в офлайн пользователь должен уйти достаточно быстро.
По поводу access-токенов, при отправке запроса на разлог просто удаляй куку (если у тебя токен в куки хранится), либо на успешный запрос удаляй с клиента токен (если он где-то на клиенте хранится)