小编Ale*_*ole的帖子

在Socket.io中进行身份验证

我将尝试在socket.io上验证连接.

目前,用户首先通过REST API进行身份验证,然后,我向用户发送JsonWebToken带有经过身份验证的用户的用户名.在我打开客户端和服务器之间的连接后,我的计划是暂时从连接的套接字列表中删除该套接字,以防止在执行身份验证时在服务器之间接收和发送数据.

在此身份验证中,我验证令牌,如果令牌有效,我将套接字的id重新添加到已连接套接字列表中.唯一的问题是第一部分不起作用.我似乎无法从列表中删除套接字.

为了测试这一点,我做了以下几点.

io.on('connection', function(socket){
    //temp delete socket
    delete io.sockets.connected[socket.id];
    console.log(io.sockets.connected);
    socket.emit("test");
});
Run Code Online (Sandbox Code Playgroud)

如您所见,我删除套接字并发出测试事件以查看套接字是否仍处于打开状态.客户端收到的消息不应该是.

有谁知道为什么会这样?

sockets node.js socket.io

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

node.js ×1

socket.io ×1

sockets ×1