Extension:Email Authorization

From mediawiki.org
This page is a translated version of the page Extension:Email Authorization and the translation is 100% complete.
Cette extension est maintenue par un membre de Groupe des acteurs de MediaWiki .
Cette extension nécessite que l'extension PluggableAuth soit d'abord installée.
Manuel des extensions MediaWiki
Email Authorization
État de la version : stable
Implémentation Droits utilisateur
Description Implémente l'accroche PluggableAuthUserAuthorization de PluggableAuth pour fournir l'autorisation à l'aide d'une liste d'adresses courriel permises.
Auteur(s) Cindy Cicalese
Dernière version 3.0 (2022-03-27)
Politique de compatibilité Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière.
MediaWiki 1.35+
PHP 7.4+
Modifie la base
de données
Oui
Tables emailauth
emailrequest
Licence Licence MIT
Téléchargement
  • $wgEmailAuthorization_RequestFields
  • $wgEmailAuthorization_EnableRequests
  • $wgEmailAuthorization_AuthorizedGroups
emailauthorizationconfig
Traduire l’extension Email Authorization sur translatewiki.net si elle y est disponible
Problèmes Tâches ouvertes · Signaler un bogue

L'extension Email Authorization implémente l'accroche PluggableAuthUserAuthorization de l'extension PluggableAuth pour fournir l'autorisation en utilisant une liste d'adresses courriel permises. Elle fournit la page spéciale Special:EmailAuthorizationConfig, qu'un administrateur peut utiliser pour ajouter ou supprimer des adresses courriel ou des domaines de messagerie issus de la liste d'autorisation.

Installation

Cette extension nécessite que PluggableAuth soit déjà installé.
  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé EmailAuthorization 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/EmailAuthorization
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'EmailAuthorization' );
    
  • Exécutez le script de mise à jour qui va créer automatiquement les tables de base de données dont cette extension a besoin.
  • Exécutez git submodule update --init
  • Configurez selon les besoins.
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Configuration

Drapeau Par défaut Description
$wgEmailAuthorization_AuthorizedGroups [] Tableau de groupes MediaWiki dont les membres sont autorisés quelque soit la permission attribuée à leur adresse courriel. Ceci sert principalement à démarrer l'extension lorsqu'elle est installée par autorisation, par exemple par les membres du groupe sysop.
$wgEmailAuthorization_EnableRequests false Indique si la page spéciale Special:EmailAuthorizationRequest sera disponible pour les comptes à demander. Si elle est activée, cette page contiendra un formulaire utilisé pour demander un compte. Par défaut, ce formulaire contiendra un seul champ : l'adresse courriel. Des champs supplémentaires peuvent être spécifiés par $wgEmailAuthorization_RequestFields. De plus, si la valeur est true, la page spéciale Special:EmailAuthorizationApprove sera disponible aux utilisateurs du groupe bureaucrat pour approuver les comptes.
$wgEmailAuthorization_RequestFields [] Tableau de champs supplémentaires pour le formulaire de demande. La définition de chaque champ est elle-même un tableau avec les champs possibles suivants :
  • label - libellé du champ (chaîne); doit être présent
  • mandatory - s'il est présent et vrai, ce champ est obligatoire
  • values - liste de chaînes séparées par des virgules qui sont les valeurs possibles de ce champ; le champ sera une liste déroulante
  • rows - s'il est présent, c'est le nombre de lignes dans la zone de texte pour ce champ
  • columns - s'il est présent, c'est le nombre de colonnes dans le champ ou la zone de texte pour ce champ (par défaut: 50)

Les trois derniers paramètres (values, rows et columns) sont utilisés pour décider comment afficher le champ. Si values est présent, une liste déroulante sera affichée et toute valeur de rows et columns est ignorée. Si values n'est pas présent, mais que rows est présent, une zone de texte de la taille spécifiée est affichée, avec columns (par défaut à 50 s'il n'est pas présent). Si seulement columns est présent, un champ textuel de la taille spécifiée est affiché. Si aucun n'est présent, un champ textuel de 50 colonnes est affiché.

Quelque soit le contenu de ce tableau, un champ d'adresse courriel sera présent comme premier champ.

Par exemple,

$wgEmailAuthorization_RequestFields = [
  [
    'label' => 'Organization',
    'mandatory' => true
  ],
  [
    'label' => 'Extra Information',
    'rows' => 4,
    'columns' => 60
  ],
  [
    'label' => 'Animals',
    'values' => [ 'dog', 'cat' ]
  ]
];

afficherait un champ textuel obligatoire (Organisation) sur 50 colonnes, une zone de texte avec 4 lignes et 60 colonnes (Informations supplémentaires) et une liste déroulante pour choisir entre dog et cat (Animaux).

Les utilisateurs qui auraient à ajouter ou révoquer des adresses courriel ou des domaines de messagerie sur la page Special:EmailAuthorizationConfig, doivent avoir le droit emailauthorizationconfig. Par exemple :

$wgGroupPermissions['bureaucrat']['emailauthorizationconfig'] = true;
Comme cette extension dépend de l'adresse courriel de l'utilisateur, pour effectuer l'autorisation vous devez empêcher l'utilisateur de modifier cette dernière, en utilisant le paramètre suivant :
$wgPluggableAuth_EnableLocalProperties = false;

Accroches

Cette extension fournit les accroches suivantes aux autres extensions :

  • EmailAuthorizationAdd et EmailAuthorizationRevoke prennent un seul paramètre : une adresse courriel ou un domaine de courriel (par exemple @ suivi du domaine).
  • EmailAuthorizationRequest prend les paramètres suivants : une adresse courriel et un tableau de champs de formulaire codés en JSON.
  • EmailAuthorizationApprove et EmailAuthorizationReject prennent les paramètres suivants : une adresse courriel, un tableau de champs de formulaire codés en JSON et l'objet User du bureaucrate approuvant ou rejetant la demande de compte.

Historique des versions

Version 3.0
  • Mis à jour pour fonctionner avec PluggableAuth 6.0
Version 2.0
  • Ajouté $wgEmailAuthorization_AuthorizedGroups
  • Ajout de la prise en charge de Postgres et SQLite en plus de celles de MySQL et MariaDB déja existantes
  • Utiliser le greffon jQuery datatables sur le tableau des autorisations courriel
  • Conversion de UI pour utiliser OOUI
  • Restructuration du code (revue des types, ajout de dépendances, paramètres globaux, nouveau système d'accroches, utilisation de lint, tests)
  • Correction des appels IDatabase::upsert() avec des paramètres à clé unique mauvaise
Version 1.5
  • Ajuster et mettre en minuscules les adresses courriel avant de les ajouter
Version 1.4
  • Ajout de PHPCS et correction automatique de certains éléments trouvés avec PHPCBF
Version 1.3
  • Ajout de la fonctionnalité de demande de compte optionnelle contrôlée par $wgEmailAuthorization_EnableRequests
    • Special:EmailAuthorizationRequest
    • Special:EmailAuthorizationApprove
Version 1.2
  • Modifier le préfixe des messages pour empêcher les collisions avec d'autres extensions
  • Formatage de tableau
  • Renommage de Special:ConfigEmailAuthorization en Special:EmailAuthorizationConfig
Version 1.1
  • Correction du bogue : l'ajout d'une adresse de messagerie qui existait déjà a levé une exception
  • Les adresses courriel et les domaines entrés dans Special:ConfigEmailAuthorization sont maintenant validés
  • Ajout de messages pour les droits manquants
Version 1.0
  • Version initiale

Problèmes connus

Les versions antérieures à la 2.0 ne fonctionnent pas avec PostgreSQL. Voir T293933.