Giter Club home page Giter Club logo

ejabberd-auth-php's Introduction

ejabberd-auth-php

This is a collection of bridges allowing an ejabberd XMPP server to use a locally installed PHP-based CMS for external authentication.

Features

Currently implemented bridges:

  • phpBB 3.0
  • phpBB 3.1 (unstable)
  • Drupal 7.x
  • Drupal 8.x (unstable)
  • SMF 2.x

Potential candidates for further bridges are WordPress, MediaWiki, Joomla! and Moodle.

Installation

Copy the file config.sample.php to config.php and fill in the appropriate values.

If you want to add session authentication, also read plugins/session/README.md. Otherwise, remove the relevant section of config.php.

Open your ejabberd configuration (/etc/ejabberd/ejabberd.cfg) and set the external authentication script:

{auth_method, external}.
{extauth_program, ".../ejabberd-auth-php/main.php"}.

Extending

In order to create a new plugin named {xyz}, you will need the following:

  • A class extending EjabberdAuthBridge and implementing its methods.
  • A file named {xyz}.module that contains the function {xyz}_init().

{xyz}_init() will receive its appropriate conf array in config.php and must return an instance of the extended class.

The class methods must return boolean values indicating success or failure. It is generally recommended NOT to allow account creation, account deletion or password changes, and instead to simply return FALSE in these methods.

If you wish to use the session plugin with your bridge, you will also need to implement a function named {xyz}_session(). This function takes no arguments. It is called in a non-CLI context, and should return the username of the currently logged-in user who made the web request, or FALSE if no user is logged in.

License

The core project, without plugins, may be distributed or modified under the under the terms of the GNU General Public License, version 2 or later.

The following plugins duplicate the code of other software, and are licensed separately:

  • phpBB, all versions: GNU General Public License, version 2

The remaining plugins contain no duplicated code, and are covered by the same license as the core project.

GPL v2: http://www.gnu.org/licenses/gpl-2.0.txt GPL v3: http://www.gnu.org/licenses/gpl-3.0.txt

Support

I will not be able to offer support or reliable maintenance for this software, or any of its plugins. Functionality may be changed without notice. This software is (for now) indefinitely in pre-release mode, and there are no current plans for a stable release.

Your best bet for using this software is to fork it and maintain your own codebase. I will gladly take pull requests under consideration if you feel like contributing.

ejabberd-auth-php's People

Contributors

cburschka avatar sylae avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.