翻译eJabberd 外部脚本的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了翻译eJabberd 外部脚本的使用相关的知识,希望对你有一定的参考价值。

外部脚本

在这个认证模块中,当ejabberd启动,它将启动一个脚本去调用它的认证任务.

服务管理员可以使用任何的变成语言去编写外部脚本,ejabberd与脚本之间的接口详情的描述在ejabberd开发指南中. 这里也有一些认证脚本的实例. 链接:https://www.ejabberd.im/extauth

这里是一些特殊的选项:

extauth_program:PathToScript

 

这个选项表示外部脚本的全路径. 脚本必须是ejabberd能够执行的.

extauth_instances:Integer

 

表示在虚拟主机中同时运行认证请求的脚本实例的数量,默认值最小为1.

extauth_cache:false|CacheTime Integer

默认值为false 禁用缓存功能, 值为0开启统计缓存,但是不能使用它缓存的信息去认证用户,如果设置其它值,则开启统计和认证两个: CacheTimeInteger 表示的秒数ejabberd可以重用认证信息,由于用户已经断开连接,去重新验证用户,不用重新去查询外部认证脚本.

注意:在一个主机如果内部认证被启动缓存则不应该启用. 如果缓存已启用, mod_last 必须也要在它的vhost中启用.

实例

这个外部认证的设置了,外部脚本, 开启缓存为10分钟, 还有在ejabberd中为每个虚拟主机声明了3个脚本实例.

auth_method: [external]

extauth_program: "/etc/ejabberd/JabberAuth.class.php"

extauth_cache: 600

extauth_instances: 3

 

按照官方实例配置后的确完成了外部鉴权的配置工作,我们所需要做的就是编写外部脚本。

 

以上是关于翻译eJabberd 外部脚本的使用的主要内容,如果未能解决你的问题,请参考以下文章

ejabberd 中的外部组件是不是有任何吞吐量限制?

使用 Strophe 连接到 ejabberd 的 AUTHFAIL 和会话超时

使用 MySQL 和 ejabberd 进行高效的外部排班

ejabberd - 基于外部 REST API 的自定义花名册模块

让 ejabberd 通知外部模块客户端存在更改

如何允许 Ejabberd 外部 XMPP 组件代表用户发送存在数据包