如何在没有联系人批准的情况下自动批准 Ejabberd 服务器中的在线状态请求

Posted

技术标签:

【中文标题】如何在没有联系人批准的情况下自动批准 Ejabberd 服务器中的在线状态请求【英文标题】:How to auto-approve the presence requests in Ejabberd server without approving by contacts 【发布时间】:2017-12-23 19:34:39 【问题描述】:

我在 Linux 的源代码中使用 Ejabberd 服务器。我的情况是,如果我需要某人在场,那么我需要将他/她添加到我的名册中并批准他/她的出席请求。由于我对一次只存在一个联系人感兴趣,因此在名册中添加大量联系人并获得批准对我来说毫无用处。因此,我需要某种机制,通过该机制将出席请求发送给某人,该请求将被服务器立即批准,而不管其他在线联系人是否批准该请求。我使用 Ejabberd 17.11 版本和后端 SQL 来存储 Linux Mint 上的大部分数据。

简而言之,Ejabberd 服务器应该自动批准所有出席请求,而不是将请求转发给联系人并等待批准。

【问题讨论】:

【参考方案1】:

根据 RFC3921 https://xmpp.org/rfcs/rfc3921.html#presence,用户的服务器不得代表用户自动批准订阅请求。所有订阅请求必须指向用户的客户端,特别是指向与用户关联的一个或多个可用资源。

我建议将自动审批功能移至客户端。

【讨论】:

但我有一些自定义要求。我没有兴趣让我的服务器 XMPP 标准兼容。你能建议一些方向吗?【参考方案2】:

您好,我正在使用一个名为 MongooseIM 的增强型 ejabberd。我在TechTalk写了一些关于ejabberd的中文文章。

如果你想自动审批presence,你必须修改ejabberd_c2s:process_outgoing_stanzamod_roster:process_subscription_transaction来中断MongooseIM中的源审批流程。

我认为你可以在 ejabberd 中做同样的事情。

【讨论】:

MongooseIM 在通用 ejabberd 服务器上的主要优点是什么? Restful API 支持,lightMUC 等。

以上是关于如何在没有联系人批准的情况下自动批准 Ejabberd 服务器中的在线状态请求的主要内容,如果未能解决你的问题,请参考以下文章

如何在 django 中获得特定任务的批准

自动批准评论插件中的所有评论

如何让审阅者在功能测试完成时自动批准拉取请求?

SAP收货时提示,对于采购订单XXXX无收货可能

如何在 facebook 上获得 user_photo 权限应用程序批准?

我如何在没有重定向的情况下使用 Paypal 进行未来付款?