juggernaut / socket.ioおよび認証シングルユーザーチャネルサブスクリプション
-
27-10-2019 - |
質問
私はノードJSとソケットIOを初めて使用していますが、それらについて多くの良いことを聞いたことがあるので、リアルタイム通知システムとして使用するためにそれらを見てみたいと思いました。
私のシナリオでは、ユーザーがソケットを開き、ユーザーに投稿された通知をリッスンします。各ユーザーは、「パブリック」チャネルではなく、独自の通知への接続を開きます。
var jug = new Juggernaut;
var channel = "/user/" + userId + "/notifications";
jug.subscribe(channel, function(data){
console.log("Got data: " + data);
});
したがって、ほとんどすべての場合、1つのチャネルを購読する1つのユーザーになります。
私には2つの懸念があります:
- 私が見たすべてのジャガーノートの例には、複数のクライアントが1つのチャネルを購読することが含まれます。これにより、1-1の通信に使用されるようには設計されていないと思います。
- 指定されたユーザーのみがメッセージを受信するように認証を追加する方法はありますか(つまり、現在ログインしているユーザーは、通知チャネルを購読できる唯一のユーザーです)。サブスクライブに追加のデータを渡す方法があれば、おそらく十分であるでしょう(ユーザーIDをハッシュして、トークンとして使用しますか?)。
以前にこのシナリオに遭遇したかもしれないJuggernautの経験はありますか?
解決
私が見たすべてのジャガーノートの例には、複数のクライアントが1つのチャネルを購読することが含まれます
多くの加入者と1人のサブスクライバーの出版社の違いは何ですか?
指定されたユーザーのみがメッセージを受信するように認証を追加する方法はありますか
もちろん。チャネルに認証が必要であり、ユーザーIDによるものであるため、それを保護するために必要なことをすでに知っています。
Juggernautに認証を行う方法については、ホストヘッダーを投稿してそれを処理できるように見えます。
所属していません StackOverflow