mediawiki / ldap-provider
Provides a mechanism for MediaWiki to retrieve information using the LDAP protocol
Installs: 1 950
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 19
Forks: 2
Type:mediawiki-extension
Requires
- composer/installers: ~1.0|~2
Requires (Dev)
- mediawiki/mediawiki-codesniffer: 39.0.0
- mediawiki/mediawiki-phan-config: 0.11.1
- mediawiki/minus-x: 1.1.1
- php-parallel-lint/php-console-highlighter: 1.0.0
- php-parallel-lint/php-parallel-lint: 1.3.2
- vimeo/psalm: ^4.7
This package is auto-updated.
Last update: 2024-12-11 10:38:13 UTC
README
Extension:LDAPProvider
This extension provides a common infrastructure to connect to a LDAP resource and run queries against it.
Installation
This extension can be installed by creating a composer.local.json file in your MediaWiki's installation directory containing the following (or merging this into your current composer.local.json):
{ "require": { "mediawiki/ldap-provider": "dev-master" }, "config": { "prefer": "source" } }
Note that "prefer": "source"
causes composer to use a clone of the git repository if it can.
Configuration
In the simplest case where you have a single LDAP server to query, you need to simply specify your LDAP server and the json file. By default LDAPProvider looks for this file in /etc/mediawiki/ldapprovider.json. If LDAProvider is installed, but cannot find it configuration file, it will fail with an error message.
LDAPProvider contains a sample configuration file that points to the Forum Systems online ldap test server in the included ldapprovider.json
. This file and the server (if it is accessible on your network) will allow you to test the extension without affecting production systems or configuring your own LDAP server.
The contents of ldapprovider.json
demonstrates a minimal configuration:
{ "LDAP Demo": { "connection": { "server": "10.5.5.1", "user": "cn=read-only-admin,dc=example,dc=com", "pass": "password", "basedn": "dc=example,dc=com", "searchstring": "uid=USER-NAME,dc=example,dc=com" } }
Other configurations are possible.
If you just want to try out the sample configuration, adding the following to your LocalSettings.php should be all that is needed:
$LDAPProviderDomainConfigs = "$IP/extensions/LDAPProvider/ldapprovider.json";
Alternative configuration via PHP
In LocalSettings.php
add
$LDAPProviderDomainConfigProvider = function( $ldapConfig ) { return new \MediaWiki\Extension\LDAPProvider\DomainConfigProvider\InlinePHPArray( [ //Domain name 'LDAP' => [ 'connection' => [ 'server' => '10.5.5.1', 'user' => 'cn=read-only-admin,dc=example,dc=com', 'pass' => 'password', 'basedn' => 'dc=example,dc=com', 'searchstring' => 'uid=USER-NAME,dc=example,dc=com' ] ] ] ); };
Testing
Tests are provided. These can be run using the following in your MediaWiki's installation directory:
$ ./tests/phpunit/phpunit.php extensions/LDAPProvider