我正在开发一个Node.js应用程序,几乎所有的通信都是通过socket.io进行的。
我需要做的是,在处理任何请求(登录请求除外)之前,请确保用户已通过身份验证。
显而易见的方法是在执行任何方法之前调用一个catch-all监听器。
但是,我似乎无法在Socket.io中找到类似的东西。我怎样才能实现?有没有比我正在采取的方法更好的方法?答案 0 :(得分:1)
这里最好的方法是在连接(握手)时通过解析cookie和解码会话来验证用户。
在以下链接中了解更多相关信息:
http://www.danielbaulig.de/socket-ioexpress/(这包含您需要做的所有事情的详细教程)
https://github.com/LearnBoost/socket.io/wiki/Authorizing
socket.io and session?
答案 1 :(得分:0)
结帐socket.io-events
名为"抓住所有活动"
var router = requrie('socket.io-events')();
router.on('*', function (sock, args, cb) {
//do something with the args!
cb();
});
var io = require('socket.io')(3000);
在" socket.io v1.x会话支持"
上查看socket.io-handshake
的nom