我正在运行一个websocket服务器,问自己,如果是计划,客户端身份验证将在以后进行握手…草案xxxx也许:)
你有信息吗?我听说过与draft07一个会话ID可以发送到服务器,所以也许这可以帮助认证客户端…
我在做什么是等待最多10秒钟,直到客户端向我发送一个带有登录头,用户名和密码的消息.但我认为这不是“THE”的解决方案.你们在那里怎么样呢?
解决方法
WebSockets协议允许在握手期间交换标准HTTP身份验证头.如果您有一个WebSockets服务器作为模块插入现有的Web服务器,则Web服务器中的现有身份验证应该已经可以正常工作.否则,如果您有独立的WebSockets服务器,则可能需要添加身份验证支持.
更新
正如@Jon指出的,与正常的HTTP / XHR请求不同,浏览器API不允许您为WebSocket连接设置任意的“X- *”头.您可以设置的唯一头值是协议.这是不幸的一个常见的解决方案是使用基于现有HTTP机制进行授权/认证的基于票据的系统,然后将该票据与websocket连接一起传递,并以此方式验证:https://devcenter.heroku.com/articles/websocket-security