当前位置:  开发笔记 > 程序员 > 正文

WebSockets身份验证

如何解决《WebSockets身份验证》经验,为你挑选了1个好方法。

使用websocket连接时,对用户进行身份验证的可能方法有哪些?

示例场景:通过加密websocket连接的基于Web的多用户聊天应用程序.如何确保(或保证)此应用程序中的每个连接都属于某个经过身份验证的用户,并且在连接期间由于虚假用户模拟而"无法"利用该连接.



1> Derek Dahmer..:

如果您已经对应用程序的非websocket部分进行身份验证,则只需在连接后将会话cookie作为第一条消息传递,并像往常一样检查cookie.

警告:有人指出,当使用flashsocket时,以下内容不起作用:
如果您使用的是socket.io,则更容易 - Cookie会在连接时自动传递,并且可以像下面这样访问:

var io = require('socket.io');
var socket = io.listen(app); 
socket.on('connection', function(client){ 
    cookies = client.headers['cookie'];
});


你确定这总能奏效吗?例如,如果Socket.IO回退到Flash套接字,则不会发送浏览器cookie(AFAIK).
取决于cookie是一个坏主意,因为允许跨源WebSockets并将传递与目标URL关联的cookie.这使您对CORS攻击持开放态度,除非您也检查Origin标头.
推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有