Xmpp Ejabberd-Exauth身份验证可以工作,但用户在洋泾浜中彼此之间没有授权

Xmpp Ejabberd-Exauth身份验证可以工作,但用户在洋泾浜中彼此之间没有授权,xmpp,ejabberd,Xmpp,Ejabberd,我安装了Ejabberd服务器,并为php脚本配置了ExAuth。我正在ubuntu和WindowsXP(在virtualbox中)上检查pidgin聊天客户端的聊天。我可以在ubuntu和windows中使用不同的用户通过ExAuth(在我的mysql数据库中列出的用户)登录。 但是,他们无法互相聊天,因为对方的状态显示为未授权 早些时候,我用内部auth_方法进行了检查。我通过web管理员添加了两个用户,然后在windows和linux机器上登录。当我添加好友时,请求会转到其他用户,在其他用

我安装了Ejabberd服务器,并为php脚本配置了ExAuth。我正在ubuntu和WindowsXP(在virtualbox中)上检查pidgin聊天客户端的聊天。我可以在ubuntu和windows中使用不同的用户通过ExAuth(在我的mysql数据库中列出的用户)登录。 但是,他们无法互相聊天,因为对方的状态显示为未授权

早些时候,我用内部auth_方法进行了检查。我通过web管理员添加了两个用户,然后在windows和linux机器上登录。当我添加好友时,请求会转到其他用户,在其他用户批准请求后,聊天就开始了。但在ExAuth中,即使在发送请求之后,其他用户也没有收到任何请求


如果有人知道问题出在哪里?

我认为您混淆了身份验证(允许在服务器上打开XMPP会话)和名册中定义的状态订阅(您应该仍然能够聊天状态订阅与消息无关)。

还有一件事,我想补充一点,我还尝试了使用mysql的odbc。使用身份验证+聊天可以很好地工作,但纯文本密码是一个很大的瓶颈,因为很难说服客户端提供在DB表中使用纯文本密码的解决方案。我不知道聊天状态订阅的概念。我只是启用了
{auth\u方法,external}
{extauth\u程序,php\u脚本{u路径}
。在脚本中,我编写了一个身份验证函数,用于验证用户(存在于我的数据库中)在pidgin客户端上的登录。现在,如果其中一个尝试添加好友,另一个不会收到请求,并且在前一个用户的列表中将好友添加为
未授权
。此外,erlang.log/ejabberd.log中也没有此请求的日志。因此无法理解幕后的行为。我还实现了
isuser
功能,但结果仍然相同。最后完成了。我添加了isuser API调用并重新启动服务器。现在它正在工作。@kuldeep.kamboj您能解释一下API吗。我正在尝试extauth,我已经准备好了脚本。用户登录正在工作,但表示未授权且不存在。如何调用isuser API?