Websocket身份验证

时间:2011-05-29 19:13:46

标签: html5 authentication websocket

我正在运行一个websocket服务器并问自己,如果计划好了,客户端身份验证将在未来通过握手完成...草案xxxx可能:)

你有资料吗?我听说使用draft07会话ID可以发送到服务器,所以也许这可以帮助验证客户端......

我正在做的是等待最多10秒钟,直到客户端向我发送一条包含登录标题,用户名和密码的消息。但我认为这不是“解决方案”。你们这些人在做什么呢?

1 个答案:

答案 0 :(得分:9)

WebSockets协议允许在握手期间交换标准HTTP身份验证标头。如果您有一个WebSockets服务器作为模块插入现有Web服务器,那么Web服务器中的现有身份验证应该已经可用。否则,如果您有一个独立的WebSockets服务器,则可能需要添加身份验证支持。

<强>更新

正如@Jon指出的那样,与普通的HTTP / XHR请求不同,浏览器API不允许您为WebSocket连接设置任意“X- *”标头。您可以设置的唯一标头值是协议。这很不幸。一种常见的解决方案是使用依赖于现有HTTP机制进行授权/身份验证的基于票证的系统,然后将此票证与websocket连接一起传递并以这种方式进行验证:https://devcenter.heroku.com/articles/websocket-security