ejabberd外部auth应该如何工作?

时间:2017-03-03 16:43:53

标签: php authentication ejabberd

如果我将自定义PHP脚本用作auth_method: external,则所有isuserauth调用都会重定向到我的脚本,对吧?因此,如果任何进程(ejabberdctl,web dashboard,ejabberdctl)尝试注册或登录,它将被重定向到我的脚本。

我尝试通过API或ejabberdctl register注册用户。但后来我注意到这些调用也通过tryregister重定向到我的脚本。即使我用1回答,用户也不会在ejabberd中成为注册用户。 (我希望我可以做我的自定义位,但它们也最终会出现在ejabberd中。)

但是我仍然可以在ejabberd中为这些用户提供vcard信息!并检索它。所以,使用我的外部身份验证:

  • 我无法使用自定义脚本
  • 在ejabberd中注册用户“在我身边”
  • 它们不会出现在registered_users回复中。只有之前添加的用户(使用auth_method: internal)才会在该回复中。
  • 可以使用set_vcard等API调用将vcard数据放入ejabberd。
  • 使用get_vcardhost和vcard字段user,使用name获取这些值。

如果用户未在ejabberd注册,为什么我仍然可以设置并获取vcard数据?如果我无法检索用户/ vcard持有者列表/但是我应该打电话给他们(他们不是“注册用户”),有什么用呢?

提前致谢。

0 个答案:

没有答案