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.42
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
  • $wgOATHAuthWindowRadius
  • $wgOATHExclusiveRights
  • $wgOATHAuthAccountPrefix
  • $wgOATHAuthDatabase

  • oathauth-enable
  • oathauth-api-all
  • oathauth-disable-for-user
  • oathauth-view-log
  • oathauth-verify-user
Téléchargements trimestriels 88 (Ranked 65th)
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/.
    Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/OATHAuth
  • 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.
  • Il est fortement recommandé d'activer le cache lorsque vous utilisez OATHAuth. Ceci améliorera les performances et la sécurité de votre wiki si vous utilisez OATHAuth. Si vous n'exécutez qu'une seule application ou un serveur web et que php-apcu est installé, avec aucun cache spécifique configuré, il est probable que MediaWiki se replie sur l'utilisation de APCu. Si vous exécutez plusieurs applications ou serveurs web, nous vous conseillons de configurer le cache de la grappe locale utilisé par tous les hôtes. Les exemples incluent 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éinitialiser un jeton utilisateur

Si un utilisateur perd à la fois son générateur de jetons ET les jetons de récupération : l'authentification à deux facteurs peut lui être retirée en exécutant le script de maintenance disableOATHAuthForUser :

Version de MediaWiki :
1.40
$ ./maintenance/run OATHAuth:disableOATHAuthForUser <user>
Version de MediaWiki :
1.39
$ php ./extensions/OATHAuth/maintenance/disableOATHAuthForUser.php <user>

‎<user> est le nom de l'utilisateur pour désactiver 2FA.

Tables partagées de la base de données

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';

Voir aussi