Каналы Django - отключение WebSocket со стороны сервера, когда срок действия токена истекает или он становится недействительным
Я искал на эту тему, специально для Django, но не нашел никакого применимого решения.
В частности, когда я использую JWT в качестве параметра запроса для аутентификации пользователя при открытии сокетного соединения, проблема, о которой я думаю, заключается в том, что соединение может быть открыто в течение длительного времени, которое может превысить срок действия токена. Срок действия маркера может истечь или даже стать недействительным, если некоторые данные изменятся.
Если кто-то украдет токен, срок действия которого истек, он не сможет ничего с ним сделать, потому что не сможет установить новое сокетное соединение, поэтому я предполагаю, что это не является большой проблемой (возможно, я ошибаюсь).
Действительность токена на стороне данных немного отличается. Если я использовал часть данных для определения имени канала, а затем именно эта информация изменилась, старое сокетное соединение будет получать старые данные, даже когда оно не должно этого делать. Например, если я использую имя компании пользователя для названия канала, а затем администратор меняет компанию пользователя, в то время как старое сокетное соединение все еще открыто, пользователь будет получать данные от старой компании, пока старое соединение не будет отключено и установлено новое
Так что мне нужно как-то закрыть соединение со стороны сервера, если это возможно, или прекратить отправку данных конкретному пользователю, и я не уверен, как это сделать.
Любой совет по решению этой проблемы будет принят с благодарностью.