![]() Release status: stable |
|
---|---|
![]() |
|
Implementation | User identity | , User rights , Hook
Description | Allows to automatically authenticate users coming from certain network addresses |
Author(s) | Olaf Lenz (Olenztalk) |
Latest version | 2.1.2 (2020-03-17) |
MediaWiki | 1.35+ |
Database changes | No |
License | GNU General Public License 2.0 or later |
Download | Download extension Git [?]: |
Parameters
|
|
Hooks used
|
|
Quarterly downloads | 18 (Ranked 152nd) |
Translate the NetworkAuth extension if it is available at translatewiki.net | |
Issues | Open tasks · Report a bug |
The NetworkAuth extension is intended to bind particular network addresses to specific users. When the wiki is accessed from a specific network address, they will be automatically logged in with the specified user name. When a wiki is configured not to allow anonymous read and/or write access, the extension can be used to grant read and write access for users from particular network addresses (e.g. from the intranet of a company).
Installation
- Download and place the file(s) in a directory called
NetworkAuth
in yourextensions/
folder. - Add the following code at the bottom of your LocalSettings.php
require_once "$IP/extensions/NetworkAuth/NetworkAuth.php";
file: - Configure as described in this section.
Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Configuration
To configure the extension, set the configuration parameter $wgNetworkAuthUsers
in LocalSettings.php, and optionally the configuration parameter $wgNetWorkAuthSpecialUsers
.
Basic configuration
The configuration parameter $wgNetworkAuthUsers
is an array that can contain one or several arrays to configure what user is logged in when a wiki page is loaded from a specific network address. NetworkAuth only becomes active when a user is not logged in already. When NetworkAuth detects an attempt to load a page by an anonymous user, it will check whether the source IP address of the request is matched by any of the records in $wgNetworkAuthUsers
. If it is, it will log in the specified user.
The username defined in the configuration must be for a user that already exists in MediaWiki.
- Example
require_once "$IP/extensions/NetworkAuth/NetworkAuth.php";
# Log-in unlogged users from these networks
$wgNetworkAuthUsers[] = [
'iprange' => [ '127.0.0.1',
'10.1.10.0/24',
'10.2.10.152/32' ],
'user' => 'NetworkAuthUser',
];
# Log-in unlogged users when IP matches this regular expression
$wgNetworkAuthUsers[] = [
'ippattern' => '/10\.1\.10\..*/',
'user' => 'NetworkAuthUser',
];
# Log-in unlogged users when IP’s reverse DNS lookup matches this domain
$wgNetworkAuthUsers[] = [
'hostpattern' => '/.*\.domain\.example\.com/i',
'user' => 'AdminComputer',
];
# To use the contents of the page MediaWiki:Networkauth-ips
# (Where the page is formatted as a '*' followed by either an IP or range)
$wgNetworkAuthUsers[] = [
'ipmsg' => 'networkauth-ips',
'user' => 'Foo',
];
Optional configuration

$wgNetWorkAuthSpecialUsers
It might be a good idea not to use NetworkAuth to log in a normal user account, but a special user account instead that exists exclusively for this purpose (e.g. "NetworkAuthUser"). In that case, one can add this account to the configuration parameter $wgNetWorkAuthSpecialUsers
. Users in this list do not get the normal list of Personal Urls. Instead, the PersonalUrls show:
- that the user is logged via the NetworkAuth extension
- the IP address of the user
- a link to log out
- a link to log in
- Example
$wgNetworkAuthSpecialUsers[] = 'NetworkAuthUser';
![]() | This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |