Extension:PluggableAuth/fr

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 extensions d'autorisation suivantes peuvent être utilisées avec PluggableAuth :


 * - utilise le balisage SAML
 * - utilise la connexion avec OpenID
 * - utilise le protocole LDAP
 * - utilise OAuth
 * - utilise Shibboleth
 * - utilise Discourse
 * - utilise le logiciel de gestion d'association Naylor
 * - utilise phpBB

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 :


 * - utilise une liste d'adresses courriel et de domaines
 * - utilise LDAP

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. Si un seul greffon d'authentification est utilisé et que la connexion locale n'est pas permise, la page  sera sautée. Si aucun greffon d'autorisation n'est utilisé, tous les utilisateurs authentifiés sont autorisé à utiliser le wiki.

PluggableAuth definit deux accroches importantes :


 * - permet aux greffons d'autorisation de fournir du code pour prendre une décision d'autorisation
 * - utilisé pour compléter les informations de groupe de MediaWiki avec celles d'un fournisseur externe

Configuration


Toutes versions


Version 6.0 et ultérieures


Version 5.7 et antérieures


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  fournie par PluggableAuth.
 * Dans la version 6.0 et les suivantes, greffon d'authentification à spécifier dans la section  de  . Par exemple :

Version 5.7 et antérieures :
 * Sous-classe des greffons d'authentification, classe abstraite  fournie par PluggableAuth.
 * Chaque greffon d'authentification doit initialiser avec le nom de cette sous-classe.

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


 * 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.  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 , un message d'erreur par défaut s'affiche.
 * doit être défini sur  si l'utilisateur est nouveau, auquel cas   l'ajoutera dans la base de données.
 * Doit renvoyer  si l'utilisateur a été authentifié et   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 :


 * 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.


 * 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  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  en utilisant la fonction statique  (ou  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  ) n'est pas activée par un administrateur de site en utilisant, la page   ne sera pas affichée.

Même si  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 à. Au lieu de cela, il devrait aller à une page spéciale personnalisée non répertoriée et basée sur. Enfin, s'il n'y a pas d'entrée utilisateur requise par l'utilisateur dans le cadre de l'authentification à partir de  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  en utilisant la fonction statique  (ou  dans les versions 5.7 et antérieures), les champs sont accessibles dans la fonction   dans un greffon d'authentification comme suit :

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 pour enregistrer une implémentation de la fonction suivante :


 * est l'objet UserIdentity pour l'utilisateur qui demande l'autorisation
 * doit avoir la valeur  si l'utilisateur est autorisé et   dans le cas contraire.



Notes de version

 * 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
 * Nécessite MediaWiki 1.35+
 * Arrêt du support pour les paramètres de configuration suivants :
 * (utiliser le champ  de l'entrée  correspondante)
 * (utiliser l'index de l'entrée correspondante)
 * (utiliser une fonction statique de la classe )
 * (dorénavant spécifié par un attribut de extension.json du greffon d'authentification et référençant le champ  dans l'entrée correspondante de ).
 * 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.


 * Version 5.4
 * Ajout de et.
 * Corrections du style de codage.


 * Version 5.3
 * Ajout de.


 * Version 5.2
 * Connexion automatique convertie en PHP à partir de JavaScript.


 * Version 5.1
 * Ajout de l'accroche . Merci à Poikilotherm d'avoir contribué à cette fonctionnalité.


 * Version 5.0
 * Ajout de 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


 * Version 4.0
 * Ajout d'un message d'erreur facultatif à
 * 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
 * supprimé
 * renommé en
 * 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  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