Juggernaut / socket.io и аутентификация подписки на однопользовательское канал

StackOverflow https://stackoverflow.com/questions/6336891

Вопрос

Я новичок в Node JS и Socket IO, но я слышал много хороших вещей о них, поэтому я хотел взглянуть на них для использования в качестве системы уведомлений в реальном времени.

В моем сценарии пользователь откроет сокет для прослушивания уведомлений, которые публикуются пользователю - каждый пользователь откроет соединение со своими собственными уведомлениями, а не «публичным» каналом.

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

Таким образом, почти во всех случаях это будет 1 пользователь, подписенный на 1 канал.

У меня есть 2 опасения:

  1. Все примеры Juggernaut, которые я видел, включают в себя несколько клиентов, подписывающихся на 1 канал-это заставляет меня думать, что он не предназначен для использования для 1-1 связи.
  2. Есть ли способ добавить аутентификацию, чтобы только указанные пользователи получили сообщение (т.е. в настоящее время в настоящее время введенный в систему пользователь - единственный, кто может подписаться на свой канал уведомлений). Если бы был способ передать дополнительные данные о подписке, это, вероятно, было бы достаточным (хэш идентификатор пользователя и, возможно, использовать их в качестве токена?).

У кого -нибудь есть какой -либо опыт работы с Juggernaut, который мог бы встретить этот сценарий раньше?

Это было полезно?

Решение

Все примеры Juggernaut, которые я видел, включают несколько клиентов, подписывающихся на 1 канал

В чем разница между многими подписчиками и одним подписчиком для издателя?

Есть ли способ добавить аутентификацию, чтобы только указанные пользователи получали сообщение

Конечно. Требуйте, чтобы канал имел аутентификацию, и, поскольку он будет от UserId, вы уже знаете, что вам нужно для ее обеспечения.

Что касается того, как заставить Juggernaut для аутентификации, похоже, вы можете публиковать заголовки хоста, чтобы справиться с этим для вас.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top