leesherwood/ejabberd-php-auth

使用PHP进行ejabberd外部认证

1.1.0 2016-04-19 09:50 UTC

This package is not auto-updated.

Last update: 2024-09-26 01:10:14 UTC


README

##Ejabberd外部认证(PHP)

此库提供了一种方便的方式来定制ejabberd认证模块extauth_program

安装(通过composer)

运行此命令

composer require leesherwood/ejabberd-php-auth:~1.1

或将其添加到您的composer.json文件中

"leesherwood/ejabberd-php-auth":"~1.1"

安装(其他方式)

下载一个zip文件,复制粘贴原始文件,随你喜好:

###基础知识 此库实现了一个服务和命令模式,作为ejabberd和你的自定义认证解决方案之间的接口。你所需要做的只是引导AuthenticationService(参见示例)并创建你的CommandExecutor,遵循CommandExecutorInterface协议。

###命令执行器 这是用来实现你的自定义解决方案的。你可以让它连接到数据库,查看类似于.htpasswd的平面文件,向另一个服务发送请求,或者几乎所有你能想到的事情,这个库只是提供了基本框架。

###命令执行器集合 这是一个特殊的命令执行器,允许你注册多个命令执行器。它遵守与正常命令执行器相同的接口,所以你可以根据需要添加多层(例如,你可以向另一个集合添加整个命令集合)。

集合可以设置为两种需求。

  • REQUIRE_ALL:类似于AND,该集合中注册的所有命令都必须返回true,最终输出才为true。
  • REQUIRE_ANY:类似于OR,第一个返回true的命令将被接受为最终输出。

这些可以在集合中混合使用,因此你可以有一个业务需求,即用户必须存在于3个数据库中的1个中,并且必须位于whitelist txt文件中。你会有一个设置为REQUIRE_ANY(OR)的数据库命令集合,以及你的主要集合(在这里添加单个whitelist cmd和数据库集合),设置为REQUIRE_ALL(AND)。