Rozszerzenie:OATHAuth

This page is a translated version of the page Extension:OATHAuth and the translation is 80% complete.
Outdated translations are marked like this.
Nie mylić z Extension:OAuth.
To rozszerzenie jest dodawane do pakietu MediaWiki od wersji 1.31 i wyższych. W związku z tym nie musi być ponownie pobierane. Niemniej jednak wciąż musisz wykonać inne podane instrukcje.
Podręcznik rozszerzeń MediaWiki
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 is not backward compatible.
MediaWiki >= 1.42
Zmiany w bazie danych Tak
Tabele oathauth_users
Licencja GPL-2.0-or-later AND GPL-3.0-or-later
Pobieranie
  • $wgOATHRequiredForGroups
  • $wgOATHAuthWindowRadius
  • $wgOATHExclusiveRights
  • $wgOATHAuthAccountPrefix
  • $wgOATHAuthDatabase

  • oathauth-enable
  • oathauth-api-all
  • oathauth-disable-for-user
  • oathauth-view-log
  • oathauth-verify-user
Quarterly downloads 86 (Ranked 64th)
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.

To rozszerzenie nie ma nic wspólnego z OAuth, który jest zupełnie innym protokołem.

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 folderze extensions/.
    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 setup local cluster caching that can be used by all hosts. 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 ((1 + 2 * $wgOATHAuthWindowRadius) * 30) sekund. Zakres ten jest wyśrodkowany wokół bieżącego czasu. Zadaniem tej zmiennej konfiguracyjnej jest uwzględnienie różnic pomiędzy zegarem w urządzeniu użytkownika a zegarem serwera. Aczkolwiek zaleca się, aby jej wartość była możliwie mała.

$wgOATHAuthDatabase false Domena bazy danych. Zmienna wykorzystywana tylko w środowiskach z wieloma bazami danych.
$wgOATHAuthSecret false Podstawowy tajny klucz OATHAuth, na podstawie którego obliczane są wszystkie klucze szyfrujące.

Jeśli wartość tej zmiennej to false, to używana jest zmienna $wgSecretKey.

$wgOATHAuthAccountPrefix false Prefiks wykorzystywany w nazwie użytkownika OATHAuth

Jeśli wartość tej zmiennej to false, to używana jest zmienna $wgSitename.

$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

When using shared database tables , i.e. same set of users for different wikis, add oathauth_devices and oathauth_types to $wgSharedTables.

$wgSharedTables[] = 'oathauth_devices';
$wgSharedTables[] = 'oathauth_types';

Zobacz też