Extension:PluggableAuth

From mediawiki.org
This page is a translated version of the page Extension:PluggableAuth and the translation is 98% complete.
Outdated translations are marked like this.
Cette extension est maintenue par un membre de Groupe des acteurs de MediaWiki .
Manuel des extensions MediaWiki
PluggableAuth
État de la version : stable
px
Implémentation Identité de l'utilisateur , Droits utilisateur , Accroche
Description Fournit un environnement pour les extensions d'authentification et d'autorisation.
Auteur(s) Cindy Cicalese (cindy.cicalesediscussion)
Dernière version 7.1.0 (2024-02-23)
Politique de compatibilité Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière.
MediaWiki >= 1.35.0
Composer mediawiki/pluggable-auth
Licence Licence MIT
Téléchargement
  • $wgPluggableAuth_EnableFastLogout
  • $wgPluggableAuth_EnableLocalLogin
  • $wgPluggableAuth_EnableLocalProperties
  • $wgPluggableAuth_EnableAutoLogin
  • $wgPluggableAuth_Config
Téléchargements trimestriels 1,031 (Ranked 2nd)
Traduire l’extension PluggableAuth sur translatewiki.net si elle y est disponible
Problèmes Tâches ouvertes · Signaler un bogue

L'extension PluggableAuth fournit un environnement pour la création d'extensions d'authentification et d'autorisation.

Authentification : c'est le processus qui consiste à prouver qu'un utilisateur est bien celui qu'il prétend être. Cela peut être fait, par exemple, en fournissant un nom d'utilisateur et un mot de passe ou un jeton ou un élément biométrique.

Les principales extensions d'authentification suivantes peuvent être utilisées avec PluggableAuth :

Les extensions d'authentification suivantes existent également, mais ne peuvent être utilisées qu'avec les versions plus anciennes de PluggableAuth :

Autorisation : c'est le processus permettant de déterminer si un utilisateur authentifié particulier doit avoir accès à une ressource particulière. Cela peut être fait, par exemple, en vérifiant une liste d'adresses courriel autorisées ou en vérifiant les valeurs des attributs utilisateur fournis par un serveur d'identité.

Dans le cas de PluggableAuth, les extensions d'autorisation déterminent si un utilisateur authentifié peut continuer à se connecter à un wiki. Cependant, les extensions « d'authentification » (plutôt que les extensions d'autorisation) prennent en charge les groupes d'utilisateurs pour lesquels un utilisateur doit être autorisé, en fonction des attributs transmis par le fournisseur d'identité (IdP).

Les extensions d'autorisation suivantes peuvent être utilisées avec PluggableAuth :

PluggableAuth peut utilisé avec un ou plusieurs greffons d'authentification, et zéro ou plusieurs greffons d'autorisation Si plusieurs greffons d'authentification sont utilisés, un bouton est ajouté respectivement par greffon sur la page Special:UserLogin. Si un seul greffon d'authentification est utilisé et que la connexion locale n'est pas permise, la page Special:UserLogin sera sautée. Si aucun greffon d'autorisation n'est utilisé, tous les utilisateurs authentifiés sont autorisé à utiliser le wiki.

PluggableAuth définit une accroche importante utilisée pour l'autorisation : permet aux greffons d'autorisation de fournir du code pour prendre une décision d'autorisation Previously, it also defined the hook PluggableAuthPopulateGroups . utilisé pour compléter les informations de groupe de MediaWiki avec celles d'un fournisseur externe

Installation

  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé PluggableAuth 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/PluggableAuth
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'PluggableAuth' );
    
  • Les droits d'utilisateur createaccount ou autocreateaccount doivent être accordés à tous les utilisateurs. Voir les Droits d'utilisateur.
  • Configurez selon les besoins.
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Un ou plusieurs greffons d'authentification, et zéro ou plus de greffons d'autorisation doivent également avoir été installés.
Les versions 6.0 et 7.0.0 de PluggableAuth sont des mises à jour importantes. Le paramètre de configuration $wgPluggableAuth_Config est nécessaire dans la version 6.0 et les suivantes. Les greffons doivent être compatibles avec la version installée de PluggableAuth.
Matrice de compatibilité
Greffons PluggableAuth version 7.0.0 ou ultérieure PluggableAuth version 6.x PluggableAuth version 5.7 ou plus ancien
Cas 1.0 - -
DiscourseSsoConsumer - 4.0.0 3.0.0
JWTAuth 2.0.0 - -
LDAPAuthentication2 2.0.0 - 1.0.1
NaylorAMS - - 0.1.0
OpenID Connect 7.0.0 6.0.0 5.4.0
PHPBB Auth 4.1.0 4.1.0 4.0.0
Shibboleth - - v1.0.0-rc.1
SimpleSAMLphp 7.0.0 5.0.0 4.5.2
WSOAuth 9.0.0 6.0.0 5.0.0
EmailAuthorization 3.0.0 3.0.0 2.0.0
LDAPAuthorization 2.0.0 - 1.0.0

Configuration

Toutes versions

Paramètre Valeur par défaut Description
$wgPluggableAuth_EnableAutoLogin false La connexion doit-elle se produire automatiquement lorsqu'un utilisateur se connecte au wiki ?
$wgPluggableAuth_EnableLocalLogin false L'utilisateur doit-il également être présenté avec des champs de nom d'utilisateur et de mot de passe sur la page de connexion, pour permettre une connexion locale basée sur un mot de passe au wiki ?
$wgPluggableAuth_EnableLocalProperties false Si true, les utilisateurs peuvent modifier leur adresse courriel et leur vrai nom sur le wiki. Si false (valeur par défaut), ils ne peuvent pas le faire. Notez que, si vous voulez de quelque manière que ce soit, que l'adresse courriel et / ou le nom réel renvoyé par le fournisseur d'authentification soit utilisé, vous devez laisser ce paramètre à sa valeur par défaut.

Après l'appel à authenticate(), PluggableAuth vérifie si le vrai nom ou l'adresse courriel renvoyés sont différents de ceux enregistrés dans la base de données du wiki. Si l'un ou l'autre sont différent, on vérifie si ce paramètre vaut true. Si tel est le cas, cela est compris par PluggableAuth pour indiquer que le vrai nom et l'adresse courriel sont gérés dans le wiki sur la page Special:Preferences. Sinon, le vrai nom et l'adresse courriel sont gérés par le fournisseur d'authentification, de sorte que les nouvelles valeurs du nom réel et de l'adresse courriel soient enregistrées dans la base de données du wiki. Autrement dit, si ce paramètre vaut false, toute modification du nom réel ou de l'adresse courriel du fournisseur d'authentification distant écrasera les valeurs locales lorsque l'utilisateur se connectera.

Version 7.0.0 ou ultérieure

Drapeau Valeur par défaut Description
$wgPluggableAuth_EnableFastLogout false permet de se déconnecter sans cliquer sur un bouton supplémentaire pour confirmer lorsque vous contournez la déconnexion XHR POST. Depuis MediaWiki 1.35 par défaut (habillage Vector), la déconnexion n'est plus effectuée en allant sur Special:UserLogout, mais à l'aide d'une demande XHR POST. Ceci est incompatible avec le processus de déconnexion de nombreux fournisseurs d'identité externes quand on fait une déconnexion unique; un mécanisme a donc été ajouté pour permettre l'ancienne approche, mais par défaut il nécessite un clic supplémentaire sur un bouton pour confirmer le déconnexion. En initialisant ce drapeau à true vous éviterez le clic supplémentaire sur le bouton.

Version 6.0 et ultérieures

Paramètre Valeur par défaut Description
$wgPluggableAuth_Config [] Tableau de tableaux contenant les paramètres de greffons d'authentification. Les clés du tableau externe sont utilisées pour le texte des boutons sur Special:UserLogin si aucun texte de bouton n'est fourni dans le tableau interne correspondant. Les clés valides des tableaux internes sont :
  • plugin (nécessaire) — nom du greffon d'authentification
  • buttonLabelMessage (facultatif) — clé du message système (par exemple SSOButtonLabel) pour ajouter le texte dans MediaWiki:SSOButtonLabel à utiliser pour le bouton sur Special:UserLogin Notez que le message ajouté doit être dans la langue de l'instance car il ne peut pas être traduit sur le wiki.
  • weight — (version 7.1.0 and later) The weight to use to control the placement of the fields, if any, on Special:UserLogin. Sorting is handled by AuthManagerSpecialPage::sortFormDescriptorFields().
  • data — tableau de configuration passé au greffon d'authentification. Le contenu dépend du greffon d'authentification. facultatif ou obligatoire, cela dépend du greffon d'authentification.
  • groupsyncs — (version 7.0.0 and later) Configuration array for group syncronization. See details at Group Synchronization below.

Version 5.7 et antérieures

Paramètre Valeur par défaut Description
$wgPluggableAuth_ButtonLabelMessage aucune S'il est défini, c'est le nom d'un message qui sera utilisé pour l'étiquette du bouton de connexion sur le formulaire Special:UserLogin. Ceci est utile si un greffon d'authentification affichera le formulaire Special:UserLogin à l'utilisateur et doit personnaliser le texte du bouton avec un message localisable. Si non défini et si aucune valeur n'est attribuée à $wgPluggableAuth_ButtonLabelMessage, la valeur du message pluggableauth-loginbutton-label sera utilisée (par défaut Log In With PluggableAuth). Pour remplacer cette valeur, vous pouvez modifier la page MediaWiki:Pluggableauth-loginbutton-label et ses variantes de langue. Cette variable de configuration est généralement définie, le cas échéant, par les greffons d'authentification et non par les administrateurs de site wiki. Si elle est définie par un administrateur de site wiki, les pages de message concernées dans l'espace de noms MediaWiki devront être créées avec les valeurs traduites des messages.
$wgPluggableAuth_ButtonLabel null Si $wgPluggableAuth_ButtonLabelMessage n'est pas défini et que $wgPluggableAuth_ButtonLabel est initialisé avec une valeur de chaîne, cette dernière sera utilisée comme étiquette du bouton de connexion sur le formulaire Special : UserLogin. Cela permet à un administrateur de site wiki de définir l'étiquette si un Message localisable n'est pas fourni par un plugin d'authentification. Notez que cette chaîne N'est PAS localisable.
$wgPluggableAuth_ExtraLoginFields [] Tableau de champs supplémentaires à ajouter au formulaire de connexion à Special:UserLogin. Voir la documentation de AuthenticationRequest:getFieldInfo() pour le format du tableau. Cette variable de configuration peut être définie par les greffons d'authentification et ne doit pas être définie par les administrateurs de site wiki.
$wgPluggableAuth_Class aucune Nom d'une classe qui étend la classe abstraite PluggableAuth pour fournir l'authentification. Cette variable de configuration doit être définie par les greffons d'authentification et ne doit pas être définie par les administrateurs de site wiki.

Synchronisation de groupe

Dans les versions 7.0.0+ lorsque vous utilisez un greffon d'authentification qui prend en charge la récupération des attributs à partir du fournisseur d'identité (actuellement OpenID Connect, SimpleSAMLphp, WSOAuth, and JWTAuth), il est possible de synchroniser les groupes du fournisseur d'identités vers les groupes de MediaWiki.

Il existe deux algorithmes prédéfinis de synchronisation de groupe, syncall et mapped décrits ci-dessous. Il est également possible qu'une extension fournisse des algorithmes de synchronisation de groupe personnalisés supplémentaires.

Pour configurer la syncronisation de groupe, ajoutez un tableau groupsyncs dans le tableau $wgPluggableAuth_Config. Ce tableau doit contenir un ou plusieurs tableau qui spécifient une synchronisation de groupe à appliquer aux attributs récupérés du fournisseur d'identité. Toutes les synchronisations de groupe doivent définir un élément type, qui aura la valeur syncall, mapped, ou le nom d'une synchronisation de groupe personnalisée. Les synchronisations de groupe peuvent également spécifier un groupAttributeDelimiter qui peut être utilisé pour exploiter des attributs à valeur multiple.

Synchronisation de type syncall

La synchronisation de groupe syncall synchronise tous les groupes pour les attributs pertinents envoyés par le fournisseur d'identité aux groupes MediaWiki. Il prend en charge les éléments de configuration supplémentaires suivants :

  • groupAttributeName (par défaut : "groups") — nom de l'attribut qui contient les groupes identifiés pour l'utilisateur par le fournisseur d'identité. Il peut s'agir d'une seule valeur de chaîne ou d'un tableau. Si c'est un tableau, il doit contenir un élément path, qui est un tableau de chaînes formant un chemin à travers les attributs des valeurs du groupe.

Il peut également contenir un élément prefix, qui est une chaîne servant à préfixer le nom de chaque groupe trouvé dans ce chemin.

  • locallyManaged (par défaut : [ "sysop" ]) — ensemble de chaînes qui sont les noms des groupes qui seront gérés par MediaWiki plutôt que par le fournisseur d'identité, de sorte qu'ils ne doivent pas être supprimés s'ils ne sont pas dans le tableau des groupes envoyés par le fournisseur d'identités.
  • filterPrefix (par défaut: ‘’): préfixe à mettre en tête de chaque groupe trouvé par cette synchronisation de groupe. S'il est fourni, seuls les groupes déjà attribués à l'utilisateur dans MediaWiki et qui commencent par ce préfixe seront supprimés et remplacés par les groupes envoyés par le fournisseur d'identité; s'il n'est pas fourni, tous les groupes sauf ceux du tableau locallyManaged seront supprimés et remplacés par ceux envoyés par le fournisseur d'identité.
  • onlySyncExisting (par défaut: false) — ajouter uniquement les groupes déjà connus de MediaWiki.
  • groupNameModificationCallback (optionnel) — fonction de callback qui sera utilisée pour chaque nom de groupe.

Exemple

$wgPluggableAuth_Config = [
  "My Login" => [
    'plugin' => '...',
    'data' => [
      ...
    ],
    'groupsyncs' => [
      [
        'type' => 'syncall',
        'locallyManaged' => [ 'sysop', 'bureaucrat' ],
        'filterPrefix' => 'oidc_',
        'groupAttributeName' => [
          [
            'path' => ['realm_access', 'roles'],
            'prefix' => 'global_',
          ],
          [
            'path' => ['resource_access', 'account', 'roles'],
          ]
        ],
        'groupNameModificationCallback' => static function ( $origGroupName ) {
          return str_replace( 'globex', 'acme', $origGroupName );
        }
      ]
    ]
  ]
];

Synchronisation de type mapped

La synchronisation de groupe est utilisée lorsqu'un seul sous-ensemble de groupes envoyé par le fournisseur d'identité doit être synchronisé avec le wiki. Seuls les groupes mentionnés dans le mappage sont concernés par lui. Il prend en charge les éléments de configuration supplémentaires suivants :

  • map : tableau contenant le mappage des groupes MediaWiki à partir des attributs du fournisseur d'identité. Chaque index de tableau de niveau supérieur est le nom d'un groupe MediaWiki. Les éléments de tableau correspondant à ces indices contiennent un tableau d'éléments chacun avec un nom d'attribut comme index de tableau et une valeur de chaîne ou un tableau de valeurs de chaîne comme valeur, indiquant les valeurs d'attributions qui seront associées à ce groupe.
  • addOnlyGroups (par défaut: []): tableau de groupes MediaWiki qui ne doit être ajouté à l'utilisateur que s'il apparait dans les attributs envoyés par le fournisseur d'identité, non supprimé s'ils n'apparait pas.

Exemple

$wgPluggableAuth_Config = [
  "My Login" => [
    'plugin' => '...',
    'data' => [
      ...
    ],
    'groupsyncs' => [
      [
        'type' => 'mapped',
        'map' => [
          'industry' => [ 'groups' => 'Professional Member' ],
          'student' => [ 'groups' => 'Student Member' ],
          'member' => [ 'groups' => [ 'Professional Member', 'Student Member'  ] ],
          'staff' => [ 'groups' => 'Staff' ]
        ]
      ]
    ]
  ]
];

Notes de développement

Créer des nouveaux greffons d'authentification

Version 6.0 et ultérieures :

  • Sous-classe des greffons d'authentification, c'est la classe abstraite MediaWiki\Extension\PluggableAuth\PluggableAuth fournie par PluggableAuth.
  • Dans la version 6.0 et les suivantes, greffon d'authentification à spécifier dans la section attributes de extension.json. Par exemple :
"attributes": {
   "PluggableAuth": {
      "OpenIDConnect": {
         "class": "MediaWiki\\Extension\\OpenIDConnect\\OpenIDConnect",
         "services": [
            "MainConfig",
            "AuthManager",
            "OpenIDConnectStore"
         ]
      }
   }
},

Version 5.7 et antérieures :

  • Sous-classe des greffons d'authentification, classe abstraite PluggableAuth fournie par PluggableAuth.
  • Chaque greffon d'authentification doit initialiser $PluggableAuth_Class avec le nom de cette sous-classe.

La sous-classe du greffon d'authentification doit implémenter les méthodes suivantes :

public function authenticate( ?int &$id, ?string &$username, ?string &$realname, ?string &$email, ?string &$errorMessage ): bool;

  • Appelé pour authentifier l'utilisateur.
  • Les paramètres sont utilisés pour renvoyer l'identifiant utilisateur, le nom d'utilisateur, le vrai nom et l'adresse courriel de l'utilisateur authentifié et, si l'utilisateur ne peut pas être authentifié, un message d'erreur facultatif. $id est un entier et les autres paramètres sont tous des chaînes. Si l'utilisateur ne peut pas être authentifié et qu'aucune valeur n'est définie pour $errorMessage, un message d'erreur par défaut s'affiche.
  • $id doit être défini sur null si l'utilisateur est nouveau, auquel cas PluggableAuth l'ajoutera dans la base de données.
  • Doit renvoyer true si l'utilisateur a été authentifié et false dans le cas contraire.
  • Si le retour à l'URL, le nom de la page ou les paramètres de requête de la page à partir de laquelle la connexion a été initiée sont nécessaires dans la fonction authenticate(), ils peuvent être consultés comme suit :
$returnToUrl = $this->authManager->getAuthenticationSessionData(
    PluggableAuthLogin::RETURNTOURL_SESSION_KEY
);
$returnToPage = $this->authManager->getAuthenticationSessionData(
    PluggableAuthLogin::RETURNTOPAGE_SESSION_KEY
);
$returnToQuery = $this->authManager->getAuthenticationSessionData(
    PluggableAuthLogin::RETURNTOQUERY_SESSION_KEY
);

public function saveExtraAttributes( int $id ): void

  • Appelé après qu'un nouvel utilisateur a été authentifié et ajouté à la base de données pour ajouter des informations supplémentaires à la base de données requises par le mécanisme d'authentification.

public function deauthenticate( UserIdentity &$user ): void

  • Appelé lorsque l'utilisateur se déconnecte pour informer le fournisseur d'identité, si nécessaire, que le nettoyage, tel que la suppression de la session de l'utilisateur, doit être effectué.

Special:UserLogin avec des champs supplémentaires de connexion

La page Special:UserLogin sera affichée à l'utilisateur pendant l'authentification si une interaction avec celui-ci est nécessaire.

Autrement dit, si un seul fournisseur d'authentification est configuré, son greffon d'authentification n'ajoute pas de champ supplémentaire au formulaire Special:UserLogin en utilisant la fonction statique PluggableAuth::getExtraLoginFields() (ou $wgPluggableAuth_ExtraLoginFields dans les versions 5.7 et antérieures), et si la connexion locale (qui autorise les champs du nom d'utilisateur et du mot de passe du formulaire Special:UserLogin) n'est pas activée par un administrateur de site en utilisant $wgPluggablAuth_EnableLocalLogin, la page Special:UserLogin ne sera pas affichée.

Même si Special:UserLogin n'est pas affiché, il peut être nécessaire pour un greffon d'authentification de recueillir l'entrée utilisateur à l'aide d'une page web fournie par un système d'authentification d'entreprise. Ceci serait réalisé par une redirection, souvent à partir de la bibliothèque d'authentification utilisée par le greffon d'authentification.

Si aucune bibliothèque de ce type n'existe et que vous devez mettre en œuvre le mécanisme d'authentification à partir de zéro, la redirection ne doit pas aller à Special:UserLogin. Au lieu de cela, il devrait aller à une page spéciale personnalisée non répertoriée et basée sur PluggableAuthLogin.php. Enfin, s'il n'y a pas d'entrée utilisateur requise par l'utilisateur dans le cadre de l'authentification à partir de Special:UserLogin ou du système d'authentification à distance, cliquer sur le lien "Se connecter" présentera simplement la page actuelle dans un état connecté.

Si un greffon d'authentification ajoute des champs supplémentaires au formulaire Special:UserLogin en utilisant la fonction statique PluggableAuth::getExtraLoginFields() (ou $wgPluggableAuth_ExtraLoginFields dans les versions 5.7 et antérieures), les champs sont accessibles dans la fonction authenticate() dans un greffon d'authentification comme suit :

...
$authManager = MediaWikiServices::getInstance()->getAuthManager();
$extraLoginFields = $authManager->getAuthenticationSessionData(
    PluggableAuthLogin::EXTRALOGINFIELDS_SESSION_KEY
);

Cela renverra un tableau de valeurs de champ indexées par le nom du champ du tableau descripteur de champ.

Créer des nouveaux greffons d'authentification

Les accroches d'autorisation utilisent l'accroche PluggableAuthUserAuthorization pour enregistrer une implémentation de la fonction suivante :

function authorize( UserIdentity $user, bool &$authorized ): void

  • $user est l'objet UserIdentity pour l'utilisateur qui demande l'autorisation
  • $authorized doit avoir la valeur true si l'utilisateur est autorisé et false dans le cas contraire.

Enlarge the login buttons to fit longer button texts

The patch enlarges the login buttons (the standard Login button and the Extension:OpenIDConnect's Login button) to display the complete texts on the buttons, even if your texts are longer than usual.

In LocalSettings.php add:

# https://www.mediawiki.org/w/index.php?title=Topic:Xx8ol75kyh1qejp8
# How to modify the Login-Page
$GLOBALS['wgHooks']['BeforePageDisplay'][] = function( OutputPage &$out, Skin &$skin ) {
        $style = <<<EOT
            <style type="text/css">
                    button#wpLoginAttempt {
                            white-space: normal;
                            word-wrap: break-word;
                            height: auto !important;
                    }

                    button#mw-input-pluggableauthlogin0 {
                            background-color: salmon !important;
                            border-color: salmon !important;
                            white-space: normal;
                            word-wrap: break-word;
                            height: auto !important;
                    }
            </style>
EOT;

        $out->addHeadItem( 'change-login-button', $style );
        return true;
};

Notes de version

Version 7.1.0
  • Add weight parameter to config to control the placement of fields on Special:UserLogin
Version 7.0.0
  • ajouter l'environnement pour populer les groupes (migré de la fonctionnalité SimpleSAMLphp)
  • rend le paramètre de configuration insensible à la casse
  • population de groupe convertie d'une accroche vers une fonction
  • améliorations du code
  • Correction de bogues :
    • T333415: la connexion LDAP ne fonctionne pas lorsque le login local est activé
    • T334083: problème avec la création automatique de l'utilisateur LDAP dans le wiki lors de la première connexion
    • T334950: le nom d'utilisateur est manquant dans l'accroche onPluggableAuthUserAuthorization
    • T305031: erreur lors de la déconnexion via l'API
    • T322828: ne pas stocker le retour à l'URL comme un secret de auteur / session
Version 6.3
  • Correction de la non compatibilité de MW 1.35 pour la désautentification
Version 6.2
  • ajout de la compatibilité avec MW 1.39
    • passage de l'accroche obsolète PersonalUrls à SkinTemplateNavigation::Universal
  • Ne met à jour que le nom réel s'il n'est pas null
  • utilise les setter et les getter pour récupérer le nom réel
Version 6.1
  • rétablissement de la compatibilité arrière avec la MW 1.35 (T308865)
Version 6.0
  • Prend en charge plusieurs greffons d'authentification utilisant $wgPluggableAuth_Config
  • Nécessite MediaWiki 1.35+
  • Arrêt du support pour les paramètres de configuration suivants :
    • $wgPluggableAuth_ButtonLabelMessage (utiliser le champ buttonLabelMessage de l'entrée $wgPluggableAuth_Config correspondante)
    • $wgPluggableAuth_ButtonLabel (utiliser l'index de l'entrée $wgPluggableAuth_Config correspondante)
    • $wgPluggableAuth_ExtraLoginFields (utiliser une fonction statique de la classe PluggableAuth)
    • $wgPluggableAuth_Class (dorénavant spécifié par un attribut de extension.json du greffon d'authentification et référençant le champ plugin dans l'entrée correspondante de $wgPluggableAuth_Config).
Version 5.7
  • Ajout d'un message d'erreur lorsqu'il y a une erreur fatale de session (rare)
Version 5.6
  • Correction de l'ouverture de session automatique pour qu'elle retourne à la page correcte après l'authentification.
Version 5.5
  • Correction d'un problème avec l'accroche PluggableAuthPopulateGroups.
Version 5.4
  • Ajout de $wgPluggableAuth_ButtonLabelMessage et $wgPluggableAuth_ButtonLabel.
  • Corrections du style de codage.
Version 5.3
  • Ajout de $wgPluggableAuth_ExtraLoginFields.
Version 5.2
  • Connexion automatique convertie en PHP à partir de JavaScript.
Version 5.1
  • Ajout de l'accroche PluggableAuthPopulateGroups. Merci à Poikilotherm d'avoir contribué à cette fonctionnalité.
Version 5.0
  • Ajout de $wgPluggableAuth_EnableLocalProperties et suppression de l'utilisation de editmyprivateinfo
  • Instruction de debogage ajoutée quand returntourl n'est pas défini
Version 4.2
  • Exception corrigée lorsque returntoquery n'est pas défini.
Version 4.1
  • Ajout de variables de session pour contenir le nom de la page et les paramètres de requête de la page à partir de laquelle la connexion a été initiée pour être utilisée dans authenticate()
Version 4.0
  • Ajout d'un message d'erreur facultatif à authenticate()
  • Numéro de version incrémenté à synchroniser avec les extensions SimpleSAMLphp et OpenIDConnect
Version 2.2
  • Confirmer les adresses de messagerie provenant de sources d'authentification externes
Version 2.1
  • Mettre à jour les conventions de dénomination des fichiers
Version 2.0
  • Presque entièrement réécrit pour prendre en charge le nouveau cadre d'authentification et de gestion des sessions de MediaWiki 1.27
  • Basculé sur le nouveau mode d'enregistrement des extensions
  • Noms des paramètres de configuration modifiés pour ajouter le préfixe $wg
  • $PluggableAuth_Timeout supprimé
  • $PluggableAuth_AutoLogin renommé en $wgPluggableAuth_EnableAutoLogin
  • $wgPluggableAuth_EnableLocalLogin ajouté pour prendre en charge la connexion locale au wiki par mot de passe en plus de PluggableAuth
Version 1.2
  • Déplacement de l'ajout d'un nouvel utilisateur dans la base de données wiki, après l'autorisation réussie de l'utilisateur
  • Validation editmyprivateinfo ajouté
Version 1.1
  • Ajout d'un appel à la déconnexion lorsque la session expire pour s'assurer que la fonction deauthenticate dans les classes d'implémentation est appelée
Version 1.0
  • Version initiale