首页 > 解决方案 > 一旦 Socket.io 升级到 WebSockets,我应该重新进行身份验证吗?

问题描述

在 NodeJS 中使用 Socket.io 时,它首先创建一个轮询传输,然后尝试将其升级到侧面的 websocket。在初始轮询请求期间,可以将标头发送到服务器并使用其中的信息进行身份验证。然后将该套接字标记为安全,并且在初始请求之后的每个请求都被认为来自同一用户。

这个假设从未在 Socket.io 文档中直接说明,但有几个示例使用中间件(仅在初始连接设置时运行)来处理身份验证。

我的问题是,当轮询传输升级到 websocket 时,这种确定性是否会延续?一旦套接字出现和“升级”事件,我应该重新进行身份验证吗?而且我确定 mallicius 客户端将无法直接建立 websocket,而无需先经过轮询步骤?

标签: node.jswebsocketsocket.ioengine.io

解决方案


推荐阅读