Extension:OATHAuth

This page is a translated version of the page Extension:OATHAuth and the translation is 100% complete.
A ne pas confondre avec Extension:OAuth.
Cette extension est fournie avec MediaWiki 1.31 et supérieur. Ainsi vous n'avez pas besoin de la télécharger à nouveau. Néanmoins, vous devez encore suivre les autres instructions fournies.
Manuel des extensions MediaWiki
OATHAuth
État de la version : stable
Implémentation Droits utilisateur , Page spéciale , Action de page
Description Fournit l'authentification à deux facteurs pour se connecter
Auteur(s) Ryan Lane
Dernière version Mises à jour continues
Politique de compatibilité Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière.
MediaWiki 1.29+
Modifie la base
de données
Oui
Tables oathauth_users
Licence GPL-2.0-or-later AND GPL-3.0-or-later
Téléchargement
  • $wgOATHRequiredForGroups
  • $wgOATHAuthMultipleDevicesMigrationStage
  • $wgOATHAuthWindowRadius
  • $wgOATHExclusiveRights
  • $wgOATHAuthAccountPrefix
  • $wgOATHAuthDatabase

  • oathauth-enable
  • oathauth-api-all
  • oathauth-disable-for-user
  • oathauth-view-log
  • oathauth-verify-user
Téléchargements trimestriels 126 (Ranked 80th)
Utilisé par les wikis publics 1,459 (Ranked 205th)
Traduire l’extension OATHAuth sur translatewiki.net si elle y est disponible
Problèmes Tâches ouvertes · Signaler un bogue

L'extension OathAuth fournit la prise en charge de l'authentification à deux facteurs. Par défaut cela comprend l'implémentation d'un mot de passe temporel à usage unique (TOTP — Time-based One-Time Password) permettant aux utilisateurs de générer des codes 2FA à partir de l'application de leur téléphone ou d'ordinateur de bureau. Le support client est disponible pour la plupart des téléphones, smartphones et ordinateurs de bureau.

Cette extension n'a rien à voir avec OAuth qui utilise un protocole tout à fait différent.

Utilisation

La page d'aide sur l'Authentification à deux facteurs donne aux utilisateurs finaux des informations sur la manière d'utiliser cette extension. De plus, la page spéciale utilisée guidera également les utilisateurs.

Installation

  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé OATHAuth dans votre dossier extensions/.
  • Seulement lorsque vous installez à partir de Git, exécutez Composer pour installer les dépendances PHP, en entrant composer install --no-dev après vous être positionné dans le répertoire de l'extension. (Voir tâche T173141 pour des complications potentielles.)
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'OATHAuth' );
    
  • Exécutez le script de mise à jour qui va créer automatiquement les tables de base de données dont cette extension a besoin.
  • Configurer si nécessaire.
  • 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.
  •   Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.


Configuration

Paramètres

Indicateur de configuration Valeur par défaut Description
$wgOATHAuthWindowRadius 4 Nombre de fenêtres valides de jetons dans chaque direction.

Cela indique à OATH d'accepter les jetons dans un intervalle effectif de ((1 + 2 * $wgOATHAuthWindowRadius) * 30) secondes. Cet intervalle de fenêtre valides est centré sur l'heure actuelle. Le but de cette variable de configuration est de tenir compte des différences entre l'horloge de l'utilisateur et l'horloge du serveur. Il est toutefois recommandé de la maintenir aussi basse que possible.

$wgOATHAuthDatabase false Domaine de la base de données. Utilisé seulement pour un environnement multi base de données.
$wgOATHAuthSecret false Le secret OATHAuth de base pour ce wiki, à partir duquel toutes les clés de chiffrement sont dérivées.

Si false, la valeur de $wgSecretKey est utilisée.

$wgOATHAuthAccountPrefix false Le préfixe utilisé pour le nom du compte utilisateur OATHAuth et l'émetteur utilisé pour le compte.

Si false, la valeur de $wgSitename est utilisée.

$wgOATHExclusiveRights [] Ensemble de permissions qui sont révoquées aux utilisateurs qui ne se sont pas connectés en utilisant l'identification à deux facteurs.
$wgOATHRequiredForGroups [] Définit une liste de groupes utilisateurs nécessaires pour activer une authentification à deux facteurs. Mettre 'user' si vous souhaitez que tous les utilisateurs connectés puissent utiliser l'authentification à deux facteurs.

OATHAuth ajoute également une clef au tableau $wgRateLimits pour définir les limites de taux pour les tentatives d'authentification :

		'badoath' => [
			'&can-bypass' => false,
			'user' => [ 10, 60 ],
			'user-global' => [ 10, 60 ],
		]

Notez-bien que la clé user-global n'est disponible que depuis la version 1.35. Les versions antérieures devaient s'appuyer sur user et peut être ip-all. Voir la documentation de $wgRateLimits pour plus de détails.

Droits utilisateur

Attribuer les droits d'accès pour autoriser OATHAuth

Les utilisateurs doivent avoir le droit oathauth-enable pour pouvoir l'activer sur Special:OATHAuth (un lien vers ce droit apparaît à Special:Preferences).

$wgGroupPermissions['user']['oathauth-enable'] = true;

Ce qui précède accordera à tous les utilisateurs enregistrés, l'accès pour activer OATHAuth.

Administration

Réinitialisation d'un jeton utilisateur

Dans le cas où un utilisateur perd à la fois son générateur de jetons ET les jetons de récupération : l'authentification à deux facteurs peut être retirée à l'utilisateur en supprimant sa ligne de la table de la base de données oathauth_users. Un administrateur système ayant accès à l'interpréteur de commandes peut également taper sur une ligne de commande cd /path/to/mediawiki/extensions/OATHAuth/maintenance/ puis exécuter php disableOATHAuthForUser.php "username""username" est l'utilisateur pour lequel le système 2FA doit être désactivé.

Voir aussi