Pusher拥有多家数据库公司

时间:2016-04-26 09:06:15

标签: javascript php pusher

我正在试图找出在我的应用程序中使用Pusher的最佳方法。

  1. 我的应用程序位于用户登录的普通网站
  2. 每个用户都连接到公司
  3. 每家公司都有自己的数据库
  4. 所以,我需要我的应用程序允许向仅属于公司签名的人发送常规消息和通知(如弹出窗口)。

    质疑/问题:

    1. 如果我创建一个名为notifications的频道并向其发送事件,则所有用户(无论是哪家公司)都会收到它
    2. 如果我设置某种与公司关联的令牌将无效,因为某些通知/消息只应发送给限制用户
    3. 在我之前的项目中,我将一个令牌与公司相关联,因为用户之间没有任何活动只是“展示”PHP在每家公司中所做的事情(在一个循环中),例如:

      PHP:

      $this->pusher->trigger($company_pusher_token, 'feedback', $data);
      

      JS:

      var token   = $('#company_pusher_token').val();
      var channel = pusher.subscribe(token);
      
      channel.bind('feedback', function(data) 
      {
         alert('working..');
      });
      

      那么,我该如何继续完成我正在寻找的东西?

1 个答案:

答案 0 :(得分:0)

看起来你正朝着正确的方向前进。

频道名称始终以公司唯一前缀开头。如果只通知该公司的一部分用户,则将前缀与组ID结合起来。

通道:

  • notifications”:发送给所有公司,所有客户
  • <company-token>-notifications”:发送给指定公司的所有客户
  • <company-token>-<group-id>-notifications”:发送给指定公司内的所有客户

顺便说一下,如果你想确保你的客户不能绑定到另一家公司的频道,请确保公司令牌不可猜测,或使用“private-”前缀让你控制订阅的授权信道。