Рефакторим один легаси проект.
В нем таким вот образом устанавливается вэбсокет соединение между node.js middleware и сервером на django:
const WebSocket = require('faye-websocket');
import CryptoJS = require("crypto-js");
const token = CryptoJS.MD5(login);
const WS_URL = `ws://${token}@${api_rest_server}/ws/channel/test`;
const ws = new WebSocket.Client(WS_URL);
ws.on('open', (event) => { ...
В результате фактически устанавливается соединение по url:
`ws://${api_rest_server}/ws/channel/test`
и в качестве параметра передается что-то вроде
{
login: token,
password: api_rest_server,
}
и сервер на django авторизует желающих подключиться, используя этот payload.
Теперь возникла необходимость подключаться к django через вэбсокет напрямую из вэб-приложения. Подключить на клиенте библиотеку faye-websocket не получается, т.к. она под капотом подключает встроенные node.js пакеты, которых нет в браузере.
Есть ли возможность подобным образом передать вместе с событием connection параметры login, password при использовании нативных вэбсокетов, библиотеки socket.io?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости