gpt4 book ai didi

node.js - Juggernaut/Socket.io 和验证单用户 channel 订阅

转载 作者:搜寻专家 更新时间:2023-10-31 23:27:57 26 4
gpt4 key购买 nike

我是 Node JS 和 Socket IO 的新手,但我听说过很多关于它们的好消息,所以我想看看它们是否用作实时通知系统。

在我的场景中,用户将打开一个套接字来监听发布给用户的通知——每个用户都将打开一个连接到他们自己的通知,而不是“公共(public)” channel 。

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

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

我有两个问题:

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

有没有人使用过 Juggernaut 之前可能遇到过这种情况?

最佳答案

All of the Juggernaut examples I've seen involve multiple clients subscribing to 1 channel

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

Is there a way to add authentication so that only specified users will receive the message

当然。要求 channel 进行身份验证,并且由于它将通过用户 ID 进行身份验证,因此您已经知道保护它所需的内容。

至于如何让 Juggernaut 进行身份验证,看起来您可以发布主机 header 来为您处理。

关于node.js - Juggernaut/Socket.io 和验证单用户 channel 订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6336891/

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