XMPP白名单?

XMPP白名单?,xmpp,quickblox,Xmpp,Quickblox,我们有一个QuickBlox的企业安装(它),并希望在QuickBlox服务器安装上为所有用户创建镜像帐户。我们还希望同步系统用户使用建立在系统上的关系(如“客户和提供商”)创建的网络 简而言之,我们希望导出白名单,将聊天“对手”限制为仅与我们的每个用户都有关系的用户。如果User1在我们的系统中与User2和User3存在关系,而不是User4到User40之间的关系,那么我们希望能够通过QuickBlox API创建一个白名单,从而在聊天中使用QuickBlox API来实现这一点 编辑:我

我们有一个QuickBlox的企业安装(它),并希望在QuickBlox服务器安装上为所有用户创建镜像帐户。我们还希望同步系统用户使用建立在系统上的关系(如“客户和提供商”)创建的网络

简而言之,我们希望导出白名单,将聊天“对手”限制为仅与我们的每个用户都有关系的用户。如果User1在我们的系统中与User2和User3存在关系,而不是User4到User40之间的关系,那么我们希望能够通过QuickBlox API创建一个白名单,从而在聊天中使用QuickBlox API来实现这一点

编辑:我们不能使用“荣誉系统”白名单。也就是说,强制必须是服务器端的,使用客户端无法绕过的方法。出于隐私考虑,用户之间必须存在难以避免的障碍

用例:

QuickBlox(或XMPP)服务器具有User1到User40,包括User1和User40

User1的白名单仅由[User2,User3]组成

如果User1试图联系User15,我们希望QuickBlox/XMPP注意到User15不在User1的白名单上,并阻止该通信,就像User1双向阻止了该用户一样

隐私名单,又名黑名单 我在QB的文档中找到了引用XMPP规范文档的地方,并找到了隐私列表的概念,它似乎是作为黑名单运行的:

这些措施只提供:

您可以选择一种被阻止的逻辑(隐私列表)。有两个 类型:

  • 以一种方式阻止。您已被阻止,但您可以向 被阻止的用户
  • 以两种方式阻止。你被阻止了,你也不能 写入被阻止的用户
服务器白名单(对话框级别,非用户) 我还找到了关于服务器白名单的文档,它们似乎是在对话/jid而不是用户级别上运行的:

  • 添加到白名单的实体可以是RFC 6120中规定的任何形式的JID。。。白名单可能会阻止入站通信、出站通信或两者

名册——仅“在场”详细信息? 还有一些名册,接近于白名单,但在我的测试中,它们似乎没有限制可能不在对方名册上的任何两个用户之间的通信

也就是说,我还没有在测试应用程序中设置花名册,用户可以创建组和1对1聊天对话框,尽管没有明确接受任何花名册请求。在Android文档中,我在名册上发现了以下内容:“[名册]是一个人接收状态更新的用户集合。”我不相信,这不会以任何方式阻止状态警报之外的用户

问题: 是否有一种建议的方法为每个用户创建一个悲观的白名单,其中只包含那些允许与之通信的用户?还是我们被迫创建并维护“反向黑名单”,即我们为每个新用户自动创建隐私列表,阻止其他用户,然后使用API删除每个用户应该能够通信的隐私列表

如果我们必须使用“反向黑名单”,是否有一种方法可以将默认黑名单应用于每个新用户,这些用户最初会阻止与QuickBlox系统中已存在的所有其他用户的通信

(同样,我们不能使用“荣誉系统”列表。如果客户端在使用前必须请求白名单处于活动状态,则可以和活动白名单,或者如果客户端可以,则这不够安全。)

XMPP客户端

XMPP客户机需要一种方法来询问其他客户机是否支持通过中继接收推送。由于推送可以从任何地方发送,客户机也可以通过中继将推送直接发送到其他客户机,只要他们有朋友的白名单令牌。他们还需要响应XMPP服务器对白名单令牌的查询,以便在不支持直接推送的客户端发送消息时允许服务器发送推送

XMPP服务器

XMPP服务器可以询问其连接的客户端是否支持推送中继,如果支持,则在客户端脱机时将收到的消息转发给推送中继服务器。这也需要XMPP服务器从用户处获取白名单令牌


帮助:如果我们讨论的是XMPP协议,请参阅此

——它可以阻止来自/到()

因此,默认情况下,您可以为每个用户设置它,例如

然后,如果我们需要允许与特定的人沟通, 然后,您可以使用action=allow将该用户添加到您的隐私列表中,并且其顺序大于“full block”。下面是一个通过隐私列表实现白名单的好例子:

和(3)“特殊”,仅允许与三个 具体实体


我认为您所描述的是一个推送中继系统,用于用户不直接访问XMPP服务器的情况。请参阅该链接中的这句话,例如:“因为此方法可以完全绕过XMPP服务器,所以它允许非XMPP协议参与。”虽然从某种意义上说,这是我想我的方向:在QB/XMPP服务器上重载sendMessage并自己处理白名单。又名“XMPP不做白名单”。它看起来(并非完全巧合;^D)像90年代末/00年代初风格的聊天协议。这些选项不要求客户端自愿遵守吗?也就是说,如果客户愿意,当发送给没有阻止他们的收件人时,他们似乎可以忽略这些隐私列表。如果客户端在使用前必须请求白名单处于活动状态,则可以和活动白名单,或者如果客户端可以,则这不是一个安全的、可由服务器强制执行的解决方案。如果没有其他隐私列表,或者