Juggernaut/Socket.io和验证单用户频道订阅



我是NodeJS和SocketIO的新手,但我听说了很多关于它们的好东西,所以我想看看它们,把它们用作实时通知系统。

在我的场景中,用户将打开一个套接字来侦听发布给用户的通知——每个用户都将打开到自己的通知的连接,而不是"公共"通道。

var jug = new Juggernaut;
var channel = "/user/" + userId + "/notifications";
jug.subscribe(channel, function(data){
    console.log("Got data: " + data);
});

因此,在几乎所有情况下,都是1个用户订阅1个频道。

我有两个问题:

  1. 我看到的所有Juggernaut示例都涉及多个客户端订阅一个频道——这让我认为它不是为1-1通信而设计的
  2. 是否有添加身份验证的方法,以便只有指定的用户才会收到消息(IE,当前登录的用户是唯一可以订阅他/她的通知通道的用户)。如果有一种方法可以在订阅时传递额外的数据,那可能就足够了(散列用户id并将其用作令牌?)

有没有人有过使用Juggernaut的经验,可能以前遇到过这种情况?

我看到的所有Juggernaut示例都涉及多个客户端订阅1个通道的

发布者的多个订阅者和一个订阅者之间有什么区别?

是否有一种方法可以添加身份验证,以便只有指定的用户才会收到消息

当然。要求通道进行身份验证,因为它将通过userid,那么你已经知道你需要保护它的东西。

至于如何让超级大国进行身份验证,看起来您可以发布主机头来为您处理。

最新更新