обновленный
Короткий ответ: Нет, но основные работы
Более длинный ответ:
В API JavaScript WebSockets нет метода для указания дополнительных заголовков для отправки клиентом / браузером. Однако в конструкторе WebSocket может быть указан HTTP-путь («GET / xyz»), базовый заголовок auth («Авторизация») и заголовок протокола (« Авторизация : базовый dXNlcm5hbWU6cGFzc3dvcmQ = »).
Заголовок авторизации генерируется из var ws = new WebSocket ( «ws: //example.com/path» , «protocol» ); var ws = new WebSocket ( "ws: //example.com/path" , [ "protocol1" , "protocol2" ]); и Sec - WebSocket - протокол : протокол (или просто имя пользователя) поля URI WebSocket:
Sec-WebSocket-Protocol: protocol1, protocol2
Вышеприведенные результаты приводятся в следующем заголовке со строкой «username: password» base64 encoded:
var ws = new WebSocket("ws://username:password@example.com/service");
Я протестировал базовый auth в Chrome 55 и Firefox 50 и подтвердил, что основная информация об аутентификации действительно согласована с сервером (это может не работать в Safari).
Заголовка Sec-WebSocket-Protocol (который иногда расширяется для использования в аутентификации с использованием websocket) генерируется из необязательного второго аргумента в конструктор WebSocket:
username
Вышеуказанные результаты заключаются в следующих заголовках:
password
а также
Bearer
Спасибо Дмитрию Фрэнку за базовый автоответчик