【发布时间】:2021-06-27 16:19:32
【问题描述】:
我在 Gentoo 服务器上使用 ejabberd 20.04,我很难让 XEP-0163(个人事件协议)再次工作。我正在“再次”写作,因为它在某些时候奏效了。但我的设置可以追溯到 2009 年,版本 2.something...
首先,这是我的ejabberd.yml 配置文件中的相关当前配置位。
modules:
...
mod_caps: {}
mod_pubsub:
access_create_node: local
default_node_config:
notification_type: normal
notify_retract: false
max_items: 10
plugins:
- flat
- pep
append_host_config:
"MYSERVER.COM":
modules:
mod_register:
access:
- deny
...
auth_method: external
extauth_program: "/path/to/some/script/ejabberd.py"
一切正常,但使用 Psi+(目前在 Windows 上为 v1.5.1477),例如在设置我的心情时,我收到了以下回复:
<iq id="aca5a" type="set">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="http://jabber.org/protocol/mood">
<item id="current">
<mood xmlns="http://jabber.org/protocol/mood">
<sick/>
<text>Grrrr</text>
</mood>
</item>
</publish>
</pubsub>
</iq>
<iq to="ME@MYSERVER.COM/Psi+" xml:lang="fr"
from="ME@MYSERVER.COM" id="aca5a" type="error">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="http://jabber.org/protocol/mood">
<item id="current">
<mood xmlns="http://jabber.org/protocol/mood">
<sick/>
<text>Grrrr</text>
</mood>
</item>
</publish>
</pubsub>
<error code="403" type="auth">
<forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>
我认为这是 ACL 的问题,所以我尝试将其替换为:
access_create_node:
allow: all
但我仍然有相同的答复。所以我知道存在身份验证问题,但我不明白是什么。
这可能是外部身份验证的问题吗?它对其他一切都运行良好,我在脚本日志中看不到任何错误(我写的东西输出了一些关于 ejabberd 请求的日志)。
(不确定我的问题是否属于这里,我猜它更适合 Serverfault 但 ProcessOne 正在重定向这里。)
【问题讨论】:
标签: xmpp ejabberd ejabberd-module