如何在mongooseIM-Push中向其他用户隐藏推送节点

时间:2019-02-04 10:24:05

标签: mongoose-im

我正在使用MongooseIM 3.1版本以及mongooseim推送功能。根据指南,我们需要创建一个用于推送的新节点,然后启用它。我对此有疑问。

  1. 我如何向其他用户隐藏该节点(由于推送功能而创建的节点),因为该节点与其他用户无关。我只想通过服务发现节使其对其他用户隐藏。

  2. 如果有人知道我们的节点推送名称,是否有危害?

1 个答案:

答案 0 :(得分:0)

回答第一个问题后,可以通过以下方式创建推送节点:

<iq type='set' to='pubsub.mypubsub.com' id='create1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
    <create node='punsub_node_for_my_private_iphone' type='push'/>
    <configure>
      <x xmlns='jabber:x:data' type='submit'>
        <field var='FORM_TYPE' type='hidden'>
          <value>http://jabber.org/protocol/pubsub#node_config</value>
        </field>
        <field var='pubsub#access_model'>
          <value>whitelist</value>
        </field>
        <field var='pubsub#publish_model'>
          <value>publishers</value>
        </field>
       </x>
    </configure>
  </pubsub>
</iq>

请注意节点配置。 access_model设置为whitelist,因此只有列入白名单的用户可以访问(请参阅节点)。可以将其保留为空,然后只有所有者可以看到它。

还将publish_model设置为publishers,这意味着只有拥有者或隶属关系publishpublish_only的所有者或用户才能发布到该节点。

MongooseIM代表节点的所有者生成发布请求,因此实际上您不必向发布节点添加任何其他用户作为发布者。

让我知道他是否有帮助并回答您的问题。