自定义ejabberd身份验证不再有效

时间:2016-09-18 12:41:11

标签: authentication erlang ejabberd

我创建了一个构建的身份验证模块 ejabberd 16.02并且在设置auth_method时运行正常。它也有效 16.03。

但是,从16.04开始,它给出了错误“[错误]忽略 选项'auth_method',值无效:[jwt]“

我检查了这些版本之间的代码差异和唯一的变化 似乎是对mod_pubsub.erl文件,特别是添加 以下内容:

ServerHost = serverhost(Host),
+ ejabberd_hooks:run(pubsub_subscribe_node, ServerHost,
+ [ServerHost, Host, Node, Subscriber, SubId]),

https://github.com/processone/ejabberd/commit/639c2fb6401391663206c0e4c946d1a699689ac7

我尝试禁用此模块甚至删除光束文件 我不使用它,但我似乎无法绕过它。

有没有人知道为什么这些变化会破裂 我的身份验证模块?

我的来源是在下面的链接,但正如我所说,已经工作了一年: https://github.com/ParamountVentures/ejabberd-auth-jwt

1 个答案:

答案 0 :(得分:0)

答案是从16.04开始,您需要将.erl文件放入ejabberd src文件夹并使用源代码编译它。删除.beam文件以使用备用身份验证模块不再有效。