Rozszerzenie:OATHAuth
![]() Status wydania: stabilne |
|
---|---|
![]() |
|
Realizacja | Uprawnienia użytkownika , Strona specjalna , Akcja strony |
Opis | Wprowadza weryfikację dwuetapową podczas logowania |
Autor(zy) | Ryan Lane |
Ostatnia wersja | Ciągłe aktualizacje |
Polityka zgodności | Snapshots releases along with MediaWiki. Master nie jest kompatybilny wstecznie. |
MediaWiki | >= 1.43 |
Zmiany w bazie danych | Tak |
Tabele | oathauth_users |
Licencja | GPL-2.0-or-later AND GPL-3.0-or-later |
Pobieranie | |
|
|
|
|
Quarterly downloads | 91 (Ranked 65th) |
Public wikis using | 1,459 (Ranked 205th) |
Przetłumacz rozszerzenie OATHAuth jeżeli jest dostępne na translatewiki.net | |
Problemy | Otwarte zadania · Zgłoś błąd |
Rozszerzenie OathAuth zapewnia wsparcie dla uwierzytelniania dwuskładnikowego. Domyślnie zawiera implementację haseł jednorazowych opartych na czasie (TOTP), która pozwala użytkownikom na generowanie na ich telefonach bądź komputerach haseł jednorazowych potrzebnych do uwierzytelniania dwuskładnikowego. Aplikacje klienckie są dostępne na większość zaawansowanych telefonów komórkowych, smartfonów oraz komputerów.
Użycie
Strona pomocy na temat uwierzytelniania dwuskładnikowego zawiera informacje dotyczące używania tego rozszerzenia przez użytkowników końcowych. Jednak strona specjalna również daje wskazówki użytkownikom.
Instalacja
- Pobierz i umieść plik(i) w katalogu o nazwie
OATHAuth
w folderzeextensions/
.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/OATHAuth - Tylko w przypadku instalacji z repozytorium git należy uruchomić Composer, aby zainstalować zależności PHP, poprzez wywołanie
composer install --no-dev
w katalogu rozszerzenia. (Zobacz zadanie T173141 w celu uzyskania informacji o możliwych komplikacjach.) - Dodaj poniższy kod na dole twojego pliku LocalSettings.php :
wfLoadExtension( 'OATHAuth' );
- Uruchom skrypt aktualizujący, który automatycznie stworzy potrzebne tabele dla tego rozszerzenia.
- Skonfiguruj zgodnie z wymaganiami.
- It is strongly recommended to setup caching when using OATHAuth. This will improve performance, but also the security of your wiki if you're using OATHAuth. If you are only running one application/web server and have php-apcu installed, and no specific cache configured, MediaWiki will likely fallback to using APCu. If you are using multiple application/web server it is advised to set up local cluster caching that all hosts can use. Examples include Memcached .
- Zrobione – Przejdź do Special:Version na twojej wiki, aby sprawdzić czy rozszerzenie zostało pomyślnie zainstalowane.
Konfiguracja
Parametry
Zmienna konfiguracyjna | Wartość domyślna | Opis |
---|---|---|
$wgOATHAuthWindowRadius
|
4
|
Liczba kodów (tokenów) w każdym kierunku, która powinna być ważna.
Wymusza to akceptowanie przez OATH kodów z zakresu |
$wgOATHAuthDatabase
|
false
|
(przestarzałe) Domena bazy danych. Zmienna wykorzystywana tylko w środowiskach z wieloma bazami danych. After MediaWiki 1.42, you should use $wgVirtualDomainsMapping['virtual-oathauth'] instead of this option. |
$wgOATHAuthSecret
|
false
|
Podstawowy tajny klucz OATHAuth, na podstawie którego obliczane są wszystkie klucze szyfrujące.
Jeśli wartość tej zmiennej to |
$wgOATHAuthAccountPrefix
|
false
|
Prefiks wykorzystywany w nazwie użytkownika OATHAuth
Jeśli wartość tej zmiennej to |
$wgOATHExclusiveRights
|
[]
|
Lista uprawnień odbieranych, gdy użytkownik nie jest zalogowany z wykorzystaniem uwierzytelniania dwuskładnikowego. |
$wgOATHRequiredForGroups
|
[]
|
Lista grup użytkowników, którzy muszą używać uwierzytelniania dwuskładnikowego. Należy użyć opcji „user”, aby włączyć uwierzytelnianie dwuskładnikowe wszystkim użytkownikom. |
OATHAuth dodaje również klucz do tablicy $wgRateLimits w celu ustalenia maksymalnej ilości prób uwierzytelnienia:
'badoath' => [
'&can-bypass' => false,
'user' => [ 10, 60 ],
'user-global' => [ 10, 60 ],
]
Należy zauważyć, że klucz user-global
jest dostępny od wersji 1.35.
Wcześniejsze wersje muszą używać klucza user
oraz, ewentualnie, ip-all
.
Zobacz dokumentację $wgRateLimits
, aby uzyskać szczegółowe informacje.
Uprawnienia użytkowników
- Przyznawanie uprawnień do włączania OATHAuth
Użytkownicy powinni mieć nadane uprawnienie oathauth-enable
, aby móc włączyć uwierzytelnianie na stronie oathauth-enable
(do której link pojawi się na Special:Preferences).
$wgGroupPermissions['user']['oathauth-enable'] = true;
Powyższy kod da możliwość włączania OATHAuth wszystkim zarejestrowanym użytkownikom.
Administracja
Resetowanie tokenów użytkownika
W przypadku, gdy użytkownik utraci zarówno swoje urządzenie uwierzytelniające ORAZ kody zapasowe, uwierzytelnianie dwuskładnikowe może zostać wyłączone dla jego konta poprzez usunięcie odpowiadającego mu wiersza z tabeli disableOATHAuthForUser
w bazie danych.
Wersja MediaWiki: | 1.40 |
$ ./maintenance/run OATHAuth:disableOATHAuthForUser <user>
Wersja MediaWiki: | ≤ 1.39 |
$ php ./extensions/OATHAuth/maintenance/disableOATHAuthForUser.php <user>
Where <user>
is the name of the user to have 2FA disabled.
Shared database tables
Some Wikis may want to share the 2FA data amongst multiple Wikis.Shared database tables , the previous method for doing so is deprecated in MediaWiki 1.42 and later. For new wiki-farm installations where you want users to share their 2FA token amongst multiple wikis, please use $wgVirtualDomainsMapping and the extensions will automatically make its tables use the specified database name.
$wgVirtualDomainsMapping['virtual-oathauth'] = [ 'db' => 'sharedbname' ]
When using shared database tables, i.e., the same set of users for different wikis, add oathauth_devices
and oathauth_types
to $wgSharedTables
.
$wgSharedTables[] = 'oathauth_devices';
$wgSharedTables[] = 'oathauth_types';
Zobacz też
- Wikimedia Security Team/Two-factor Authentication for CentralAuth wikis
- Two-factor authentication (TFA)
- Extension:WebAuthn
- Initiative for Open Authentication (OATH)
To rozszerzenie jest wykorzystywane przez jeden lub więcej projektów Wikimedia. Oznacza to prawdopodobnie, że to rozszerzenie jest stabilne i działa wystarczająco dobrze, aby wykorzystywać je na stronach o dużym natężeniu ruchu. Odnajdź nazwę tego rozszerzenia w plikach konfiguracyjnych Wikimedia CommonSettings.php oraz InitialiseSettings.php, aby zobaczyć gdzie są zainstalowane. Pełną listę rozszerzeń zainstalowanych na określonej wiki można znaleźć na stronie Special:Version na danej wiki. |
To rozszerzenie jest dołączone do następujących farm/hostów wiki lub pakietów: To nie jest pełna lista. Niektóre farmy/hosty wiki lub pakiety mogą zawierać to rozszerzenie nawet jeśli nie są one tutaj wymienione. Zawsze sprawdzaj swoje farmy/hosty wiki, aby to potwierdzić. |