gpt4 book ai didi

node.js - 在socket.io上,我是否总是必须对每个emit()进行身份验证,而不是仅在建立连接时进行身份验证?

转载 作者:太空宇宙 更新时间:2023-11-03 22:21:25 25 4
gpt4 key购买 nike

我从 REST 切换到 socket.io 的原因之一是因为后者是无状态通信,我发现自己如果必须为每次发出添加大量 token ,就会出现膨胀整个沟通很多。

这是与 socket.io 聊天通信的主要安全标准吗?

那么我们可以说,对于像 Grindr 这样的应用程序,最好的方法是像 JWT 这样的方法来处理每个 emmit 吗?通过护照?

干杯

最佳答案

我处理它的方法是在登录时进行一次身份验证,并在服务器端创建一个身份验证 token 。在服务器上,我将 token 映射到用户详细信息,并仅将用户名附加到套接字对象。我仅将 token 发送给客户端一次,作为登录的响应。然后,您想要验证用户身份的任何事件(阅读:几乎所有事件)都会发送 token ,并根据 token 和附加到接收消息的套接字对象的用户名来验证用户服务器端。

请注意,虽然 JWT 确实是一种标准,但使用这种方法,您不需要任何特定的 token 格式。您只需要某种唯一的 ID 作为 token ,因此即使是 5 个字符的随机(但唯一!) token 也应该没问题,不会在您的消息中留下太多多余的信息。

关于node.js - 在socket.io上,我是否总是必须对每个emit()进行身份验证,而不是仅在建立连接时进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54209354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com