PHPackages                             leesherwood/ejabberd-php-auth - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. leesherwood/ejabberd-php-auth

ActiveLibrary

leesherwood/ejabberd-php-auth
=============================

ejabberd external authentication with PHP

1.1.0(10y ago)77102MITPHPPHP &gt;=5.5.0

Since Apr 5Pushed 10y ago3 watchersCompare

[ Source](https://github.com/leesherwood/ejabberd-php-auth)[ Packagist](https://packagist.org/packages/leesherwood/ejabberd-php-auth)[ RSS](/packages/leesherwood-ejabberd-php-auth/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

\##Ejabberd External Authentication (PHP)

This library provides a convenient way to customise the ejabberd authentication module `extauth_program`.

#### Installation (via composer)

[](#installation-via-composer)

Run this:

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

```

or add this to your composer.json

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

```

#### Installation (other)

[](#installation-other)

Download a zip, copy and paste the raw files, whatever you like :\]

\###The Basics This library implements a service and command pattern which acts as the interface between ejabberd and your custom auth solution. All you need to do is bootstrap the AuthenticationService (see examples) and create your CommandExecutor following the CommandExecutorInterface contract.

\###Command Executors This is what you create to implement your custom solution. You can have it connect to a database, look at a flat file such as a `.htpasswd`, send a request to another service, or pretty much anything else you can think of, this library simply provides the scaffolding.

\###Command Executor Collections This is a special command executor that allows you to register multiple command executors. It complies with the same interface as a normal command executor so you can layer these up as much as you need to (i.e. you can add an entire collection of commands to another collection).

Collections can be set to two requirements.

- `REQUIRE_ALL`: Is like an `AND`, all commands registers in that collection must return true for true to be the final output.
- `REQUIRE_ANY`: Is like an `OR`, the first command that returns true will be accepted as the final output.

These can be mixed if layering up collections, so you could have a business requirement that a user exists in 1 of 3 databases, plus be in a whitelist txt file. You would have a database command collection set to `REQUIRE_ANY` (OR), and your main collection (where you add the single whitelist cmd + the database collection) set to `REQUIRE_ALL` (AND).

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Total

2

Last Release

3674d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ca5f0194a1e75bc687de8abfd85a207883282e3d8dfecfbed3c3017bef963517?d=identicon)[leesherwood](/maintainers/leesherwood)

---

Top Contributors

[![leesherwood](https://avatars.githubusercontent.com/u/1732877?v=4)](https://github.com/leesherwood "leesherwood (12 commits)")

---

Tags

xmppejabberdejabberext\_auth

### Embed Badge

![Health badge](/badges/leesherwood-ejabberd-php-auth/health.svg)

```
[![Health](https://phpackages.com/badges/leesherwood-ejabberd-php-auth/health.svg)](https://phpackages.com/packages/leesherwood-ejabberd-php-auth)
```

###  Alternatives

[api-platform/metadata

API Resource-oriented metadata attributes and factories

223.5M96](/packages/api-platform-metadata)[phpro/http-tools

HTTP tools for developing more consistent HTTP implementations.

28137.8k](/packages/phpro-http-tools)[gamenet/php-jabber-rpc

PHP wrapper for ejabberd xml-rpc module

1921.0k](/packages/gamenet-php-jabber-rpc)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)[zorn-v/xmpp

Library for XMPP protocol (Jabber) connections

118.5k](/packages/zorn-v-xmpp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
