mediawiki/guzzle-json-auth

Authenticate with a JSON endpoint using a configurable Guzzle client

0.1.2 2018-11-21 16:54 UTC

This package is auto-updated.

Last update: 2024-12-22 06:18:19 UTC


README

Authenticate your MediaWiki with a JSON endpoint using a configurable Guzzle client

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Install

Requirements

  • PHP >= 5.4
  • Composer
  • MediaWiki 1.22

Via Composer

$ composer require mediawiki/guzzle-json-auth

Usage

To Setup the authentication, add the following lines to your LocalSettings.php and change the values to your needs:

# Setup GuzzleJsonAuth
$wgGuzzleJsonAuthUrl = 'http://yourapplication.com/your_json_endpoint';

$wgGuzzleJsonRequestBaseKey = 'User';
$wgGuzzleJsonRequestUsernameKey = 'username';
$wgGuzzleJsonRequestPasswordKey = 'password';

$wgGuzzleJsonResponseBaseKey = 'user';
$wgGuzzleJsonResponseUsernameKey = 'username';
$wgGuzzleJsonResponseRealNameKey = 'real_name';
$wgGuzzleJsonResponseEmailKey = 'email';

// Load and initialize the GuzzleJsonAuth extension
require_once("$IP/extensions/GuzzleJsonAuth/GuzzleJsonAuth.php");
$wgAuth = new \MediaWiki\GuzzleJsonAuth\GuzzleJsonAuth();

Authenticated users will be created in your Wikis database, but without password.

The authentication endpoint needs to return at least tne username, real name and email of the authenticated user as result. If the authentication failed, it must not return the username, otherwise it the user will be logged in nonetheless.

This extension will fall back to local authentication, if the user could not be authenticated externally.

Change log

Please see CHANGELOG.md for more information what has changed recently.

Testing

$ phpunit

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email ravage@bluewin.ch instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.