Websocket аутентификация - PullRequest
       16

Websocket аутентификация

12 голосов
/ 29 мая 2011

Я использую сервер веб-сокетов и спрашиваю себя, если он запланирован, что в будущем аутентификация клиентов будет выполняться с рукопожатием ... черновик хххх, может быть:)

У вас есть информация? Я слышал, что с draft07 идентификатор сеанса может быть отправлен на сервер, так что, возможно, это может помочь аутентификации клиента ...

То, что я делаю в банкомате, - это ожидание максимум 10 секунд, пока клиенты не отправят мне сообщение с заголовком логина, именем пользователя и паролем. Но я думаю, что это не "решение". Как вы, ребята, делаете это?

1 Ответ

9 голосов
/ 31 мая 2011

Протокол WebSockets позволяет обмениваться стандартными заголовками аутентификации HTTP во время рукопожатия. Если у вас есть сервер WebSockets, который подключается к существующему веб-серверу в качестве модуля, то существующая аутентификация на веб-сервере уже должна работать. В противном случае, если у вас есть автономный сервер WebSockets, вам может потребоваться добавить поддержку аутентификации.

Обновление

Как указывает @Jon, в отличие от обычных запросов HTTP / XHR, API-интерфейс браузера не позволяет устанавливать произвольные заголовки "X- *" для соединений WebSocket. Единственное значение заголовка, которое вы можете установить, это протокол. Это неудачно. Одним из распространенных решений является использование системы, основанной на тикете, которая полагается на существующий механизм HTTP для авторизации / аутентификации, а затем этот билет передается вместе с соединением через веб-сокет и проверяется таким образом: https://devcenter.heroku.com/articles/websocket-security

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...