NodeJS 和 Socket.IO 用户认证

Posted

技术标签:

【中文标题】NodeJS 和 Socket.IO 用户认证【英文标题】:NodeJS and Socket.IO user authentication 【发布时间】:2014-12-14 13:46:49 【问题描述】:

我想知道 socket.IO 身份验证的最佳做法是什么。

Alice 发出事件“消息”,其参数包括 Bob 的唯一标识符等。Bob 在侦听 socket.on('message') 事件时收到消息。

如何防止未经身份验证的用户使用 Socket.IO 连接到服务器以及如何仅向特定用户发出事件?

非常感谢您的所有建议和回答。 彼得

【问题讨论】:

实施认证方案并使用 SSL。 【参考方案1】:

Socket.IO 允许您为新会话设置身份验证。例如,您可以使用 cookies 或使用 JSON web tokens 来执行此操作。身份验证机制是change from 0.9 to 1.0,所以在谷歌搜索时要注意这一点。

就加密而言,只要您使用 https 就可以了。尝试实现自己的加密方案而不是使用 https 风险更大,工作量也更大。

【讨论】:

数据库中的数据是否加密?

以上是关于NodeJS 和 Socket.IO 用户认证的主要内容,如果未能解决你的问题,请参考以下文章

使用 Socket.io 和 nodejs 向用户发送更新

验证 socket.io/nodejs 的用户

Nodejs & Socket.io 可以支持多少用户?

如何跨多个服务器 nodejs 和 socket.io 存储 socket.id

如何将用户名从php会话存储到nodejs中的socket.io库和页面刷新时套接字连接断开。为啥?

如何使用nodejs socket.io向特定房间中的用户发送打字警报和消息