Django использует аутентификацию по каналам http post и использует websockes после
Я работаю над проектом, в котором мы использовали crud с rest api, стандартные вещи. Теперь мы хотим перейти на вебсокеты, так как хотим иметь обновления в реальном времени. Представьте себе календарь бронирования авиабилетов. Когда кто-то нажимает на поле в календаре, оно должно быть заблокировано для каждого подключенного пользователя.
Я вижу много примеров того, как люди приводят примеры аутентификации через websocket. Но я считаю создание веб-сокета перед входом в систему полным расточительством.
В идеале я хотел бы аутентифицировать пользователя через JWT по HTTP POST и получить токен, а если он аутентифицирован, то создать websocket с токеном, который я получаю из JWT.
Прежде чем я начну вдаваться в подробности. Нужно ли так писать или лучше сразу создать websocket-соединение и делать все api через websocket, включая начальный auth (username, password stuff) .
Спасибо
Ваш подход «аутентификация через JWT по HTTP и затем использование webSockets с токеном» обеспечивает баланс между безопасностью, простотой и производительностью, его также легче реализовать, используя существующие библиотеки и фреймворки, поддерживающие JWT
и WebSockets
.
Если вы хотите исследовать API на базе WebSocket для всего, это можно сделать, но для вашего текущего случая использования (обновления в реальном времени) гибридный подход (REST + WebSocket) более практичен и распространен.