Extension:OpenID Connect
OpenID Connect État de la version : stable |
|
---|---|
Implémentation | Identité de l'utilisateur |
Description | Etend l'extension PluggableAuth pour fournir l'authentification en utilisant OpenID Connect |
Auteur(s) | Cindy Cicalese (cindy.cicalesediscussion) |
Dernière version | 8.0.3 (2024-04-11) |
Politique de compatibilité | Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière. |
Modifie la base de données |
Oui |
Tables | openid_connect |
Licence | Licence MIT |
Téléchargement | |
|
|
Traduire l’extension OpenID Connect sur translatewiki.net si elle y est disponible | |
Problèmes | Tâches ouvertes · Signaler un bogue |
L'extension OpenID Connect étend l'extension PluggableAuth pour fournir une authentification qui utilise OpenID Connect.
Merci en particulier à jumbojett pour la bibliothèque PHP OpenID Connect utilisée par cette extension.
Installation
Préconditions
Extension
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
OpenIDConnect
dans votre dossierextensions/
.
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/OpenIDConnect - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'OpenIDConnect' );
- Exécutez le script de mise à jour qui va créer automatiquement les tables de base de données dont cette extension a besoin.
- Installez les dépendances.
- Configurez si nécessaire.
- Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Dépendances
The OpenIDConnect extension requires the CURL PHP extension and the OpenID Connect PHP library. If you are following the standard installation procedure and downloaded the archive from mediawiki.org, the dependencies have been bundled and there is no further action required.
Ajoutez la ligne "extensions/OpenIDConnect/composer.json"
au fichier composer.local.json
dans le répertoire racine de votre wiki, par exemple
{
"extra": {
"merge-plugin": {
"include": [
"extensions/OpenIDConnect/composer.json"
]
}
}
}
Puis, exécutez composer update
dans le répertoire racine de votre wiki.
Cela permettra d'installer toutes les dépendances (comme la bibliothèque PHP OpenID Connect de jumbojett).
Configuration
Paramètres
La plupart des configurations pour OpenID Connect sont gérées par un fichier situé à /.well-known/openid-configuration
[1] sur le domaine du fournisseur.
Il contient la plupart des paramètres nécessaires pour gérer l'authentification.
Drapeau | Valeur par défaut | Description | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
$wgPluggableAuth_Config (voir Configuration de PluggableAuth)
|
[] | tableau obligatoire de tableaux qui spécifient les émetteurs OpenID Connect et leur configuration. Le champ data du tableau contient un tableau qui a les clés suivantes :
| ||||||||||||||||||||||||||||||||||||||||||||
$wgOpenIDConnect_UseRealNameAsUserName
|
false
|
Si un nouvel utilisateur est créé dans la base de données et qu'aucun nom préféré n'a été fourni par l'émetteur ou que preferred_username est défini à null ou à une chaîne vide, la valeur true de ce drapeau indique que le vrai nom d'utilisateur (s'il est fourni par le l'émetteur) doit être utilisé comme nouveau nom d'utilisateur. If set to true , and no preferred username was provided by the issuer "User" for the first and starting with the second user "User" followed by a number will be used, e.g., "User", "User1", "User2", etc. The same naming happens if this parameter is set to false .
| ||||||||||||||||||||||||||||||||||||||||||||
$wgOpenIDConnect_UseEmailNameAsUserName
|
false
|
Si un nouvel utilisateur est créé dans la base de données et qu'aucun nom préféré n'a été fourni par l'émetteur ou que preferred_username est défini à null ou à une chaîne vide, et que soit le nom réel n'est pas fourni par le l'émetteur ou que $wgOpenIDConnect_UseRealNameAsUserName n'est pas défini ou qu'il vaut false , la valeur false de ce drapeau indique que la portion du nom dans l'adresse courriel de l'utilisateur (si celle-ci est fournie par le l'émetteur) doit être utilisé comme nouveau nom d'utilisateur. This parameter cannot be set to true at the same time $wgOpenIDConnect_UseRealNameAsUserName is set to true . In this case this setting will be ignored.
| ||||||||||||||||||||||||||||||||||||||||||||
$wgOpenIDConnect_MigrateUsersByUserName
|
false
|
Si un utilisateur existe déjà dans la base de données avec la même adresse courriel que l'utilisateur authentifié et a les valeurs null pour le sujet et l'émetteur, utilisez cet utilisateur en définissant le sujet et l'émetteur dans la base de données correspondant à ceux de l'utilisateur authentifié. Ceci est utile lorsque le wiki utilisait précédemment un mécanisme d'authentification différent. If neither this parameter nor $wgOpenIDConnect_MigrateUsersByEmail are set to true the settings for user creation will be used as described above.
| ||||||||||||||||||||||||||||||||||||||||||||
$wgOpenIDConnect_MigrateUsersByEmail
|
false
|
Si un utilisateur existe déjà dans la base de données avec la même adresse courriel que l'utilisateur authentifié et a les valeurs null pour le sujet et l'émetteur, utilisez cet utilisateur, en définissant le sujet et l'émetteur dans la base de données correspondant à ceux de l'utilisateur authentifié. Ceci est utile lorsque le wiki a précédemment utilisé un mécanisme d'authentification différent. If neither this parameter nor $wgOpenIDConnect_MigrateUsersByUserName are set to true the settings for user creation will be used as described above.
| ||||||||||||||||||||||||||||||||||||||||||||
$wgOpenIDConnect_ForceReauth
|
false
|
Lorsque l'utilisateur se déconnecte du wiki, cela permet de forcer la réauthentification avec le fournisseur d'identité lors de la prochaine reconnexion, même s'il n'a pas été déconnecté du fournisseur. | ||||||||||||||||||||||||||||||||||||||||||||
$wgOpenIDConnect_SingleLogout
|
false
|
Lorsque l'utilisateur se déconnecte du wiki, il sera déconnecté également du fournisseur d'identité. Ceci n'est pas pris en charge par tous les fournisseurs d'identité (par exemple Google). | ||||||||||||||||||||||||||||||||||||||||||||
$wgOpenIDConnect_PreferredUsernameProcessor
|
null
|
Callable that takes two parameters (preferred username string and the array of attributes returned from the identity provider) and returns a possibly modified preferred username to use for a new user; this value is only used if no value is provided for preferredUsernameProcessor in the config data section (version 7.2.0+)
| ||||||||||||||||||||||||||||||||||||||||||||
$wgOpenIDConnect_RealNameProcessor
|
null
|
Callable that takes two parameters (real name string and the array of attributes returned from the identity provider) and returns a possibly modified real name to use for a new user; this value is only used if no value is provided for realnameProcessor in the config data section (version 7.2.0+)
| ||||||||||||||||||||||||||||||||||||||||||||
$wgOpenIDConnect_EmailProcessor
|
null
|
Callable that takes two parameters (email address string and the array of attributes returned from the identity provider) and returns a possibly modified email address to use for a new user; this value is only used if no value is provided for emailProcessor in the config data section (version 7.2.0+)
| ||||||||||||||||||||||||||||||||||||||||||||
$wgOpenIDConnect_UseRandomUsernames
|
false
|
Boolean to indicate whether to generate a random unique identifier to use for the username of a new user if no preferred username is provided (rather than the default of using User followed by a unique integer) and no value is provided for useRandomUsernames in the config data section (version 8.0.0+)
|
Lors de la configuration du fournisseur d'identité, il demandera une URL de redirection ou une URL de callback. Utilisez l'URL complète vers la page Special:PluggableAuthLogin pour cette valeur.
Connecter un émetteur unique
Exemple simple de pour configurer $wgPluggableAuth_Config
avec un émetteur unique :
$wgPluggableAuth_Config[] = [
'plugin' => 'OpenIDConnect',
'data' => [
'providerURL' => 'https://id.mycompany_abc.com/connect/',
'clientID' => '.....',
'clientsecret' => '.....'
]
];
Connecter les émetteurs multiples
Exemple pour configurer $wgPluggableAuth_Config
pour plusieurs émetteurs :
$wgPluggableAuth_Config["My Company's Connect Server"] = [
'plugin' => 'OpenIDConnect',
'data' => [
'providerURL' => 'https://id.mycompany_abc.com/connect/',
'clientID' => '.....',
'clientsecret' => '.....'
]
];
$wgPluggableAuth_Config["Partner Company's Connect Server"] = [
'plugin' => 'OpenIDConnect',
'data' => [
'providerURL' => 'https://id.partnercompany_def.com/connect/',
'clientID' => '.....',
'clientsecret' => '.....'
]
];
À partir de la version 7.0.0, la synchronisation de groupe est possible en utilisant la fonctionnalité fournie par l'extension PluggableAuth. Pour plus d'informations sur la configuration de la synchronisation de groupe, voir la documentation PluggableAuth.
Exemples
Configurer l'émetteur
- Créez un projet en utilisant la console de développement de Google.
- Cliquez sur le projet, cliquez sur le menu hamburger (trois lignes horizontales en haut à gauche) et cliquez sur
APIs & Services -> Credentials
(API et Services > Identifiants) dans le menu. - Cliquez sur le bouton
Create credentials -> OAuth client ID
et sélectionnezWeb application
( Créer des identifiants > ID client OAuth). Remplissez les informations pour Configurer l'écran de consentement et sauvegardez. - Fournir l'URI de redirection dans
Authorized redirect URIs
[2]:https://[URLofWiki]/wiki/Special:PluggableAuthLogin
- Cliquez sur
Create Client ID
. - Notez les
Client ID
etClient Secret
déjà assignés.
Configurer l'extension
L'émetteur Google est désormais configuré.
Ajoutez la configuration correspondante à votre fichier LocalSettings.php, en remplissant les champs clientID
et clientsecret
avec les valeurs attribuées ci-dessus.
$wgPluggableAuth_Config[] = [
'plugin' => 'OpenIDConnect',
'data' => [
'providerURL' => 'https://accounts.google.com',
'clientID' => '.....',
'clientsecret' => '.....',
]
];
Vous pouvez également attribuer d'autres valeurs telles que proxy
et authparam
.
Azure Active Directory
Azure Active Directory s'appelle maintenant Microsoft Entra ID.
Microsoft Entra ID
Entra ID is the new name of the service formerly called "Azure Active Directory."
Configurer l'émetteur
- Dans le portail Azure, allez à Active Directory puis à App Registrations
- Enregistrer une nouvelle demande
- Donnez un nom
- De manière similaire indiquez Accounts in this org directory only
- Donner l' URI de redirection :[2]
https://[URLofWiki]/wiki/Special:PluggableAuthLogin
- Dans la nouvelle application, allez à Certificates and secrets et créez un nouveau secret Client
Configurer l'extension
En utilisant le Application (client) ID, l'ID du répertoire (locataire) et le secret de l'application, remplissez votre fichier LocalSettings.php :
$wgPluggableAuth_Config[] = [
'plugin' => 'OpenIDConnect',
'data' => [
'providerURL' => 'https://login.microsoftonline.com/[tenantID]/v2.0/',
'clientID' => '[Application (Client) ID]',
'clientsecret' => '[Secret from Certs and Secrets]'
]
];
$wgOpenIDConnect_UseRealNameAsUserName = true;
Extension configuration with Group mapping
$wgPluggableAuth_Config[] = [
'plugin' => 'OpenIDConnect',
'data' => [
from above example
],
'groupsyncs' => [
[
'type' => 'mapped',
'map' => [
'sysop' => ['groups' => '8d1cc10c-3e95-4637-941d-0c1237352e85'],
'interface-admin' => ['groups' => 'See where to find Object ID below']
]
]
]
];
- In Azure, go to `Manage` -> `Token configuration`. Click `Add group claims`, select "Groups assigned to the application (recommended for large enterprise companies to avoid exceeding the limit on the number of groups a token can emit)".
- Find app in Enterprise applications, and go to `Manage` -> `Users and groups`. Add group.
- You can now click on the group and copy the `Object ID` and paste above.
- You need to relogin to take effect.
Keycloak
Configurer l'émetteur
Hypothèses :
- Votre nom Keycloak realm est acme
- Votre URL et votre port Keycloak sont https://keycloak.local:8080
- Votre identifiant client Keycloak vaut mediawiki
- Votre secret client généré automatiquement est 12345
Configurer l'extension
$wgPluggableAuth_Config[] = [
'plugin' => 'OpenIDConnect',
'data' => [
'providerURL' => 'https://keycloak.local:8080/realms/acme',
'clientID' => 'mediawiki',
'clientsecret' => '12345'
]
];
Dépannage
- Si vous rencontrez des problèmes, comme "The provider {$param} could not be fetched. Make sure your provider has a well known configuration available.", votre URI[3] est erroné. Vous pouvez vérifier l'exactitude en appelant https://keycloak.local:8080/realms/acme/.well-known/openid-configuration dans votre navigateur. Si vous obtenez un JSON fourni, le chemin est correct.
- Une autre façon de vérifier providerURL est de le comparer à Redirect URI sur Keycloak>Identity Providers>keycloak-oidc, c'est-à-dire : https://keycloak.local:8080/realms/acme/broker/keycloak-oidc/endpoint. Pour providerURL, vous avez besoin de la portion jusqu'à un niveau inférieur à realms.
- Assurez-vous que le URI de redirection fourni par ce greffon OIDC[4] est déclaré valide pour votre serveur keycloak sous acme -> Clients -> mediawiki -> Paramètres -> valid redirect uris. Pour des tests, vous pouvez ajouter un joker "*".
Okta
Configuration de l'émetteur
Configuration de Okta OIDC app
Type de droits attribués : (tous) URIs de redirection de connexion : c'est l'URL complète vers Special:PluggableAuthLogin, par exemple https://www.example.com/wiki/index.php/Special:PluggableAuthLogin Flux de connexion : "Redirect to app to initiate login (OIDC compliant)" URI initiale de connexion : c'est l'URL complète vers Special:UserLogin, par exemple https://www.example.com/wiki/index.php/Special:UserLogin
Configurer l'extension
Vous devez spécifier l'openid, le profil et le but du courriel pour communiquer avec Okta. Si vous omettez le but n'est pas référencé, Okta sera heureux d'authentifier vos utilisateurs mais ne vous restituera aucun résultat utile.
$wgPluggableAuth_Config[] = [
'plugin' => 'OpenIDConnect',
'data' => [
'providerURL' => 'https://your-okta-org.okta.com',
'clientID' => '(paste the client ID Okta assigned your new app here)',
'clientsecret' => '(paste the client secret Okta assigned your new app here)'
]
];
Utilisateurs créés automatiquement
Si vous souhaitez profiter des avantages de la création automatique des utilisateurs de MediaWiki (par exemple $wgGroupPermissions['*']['autocreateaccount'] = true;
), sachez que les demandes avec utilisateur préféré d'Okta ont le format d'une adresse courriel.
Si vous ne voulez pas que vos utilisateurs aient un caractère @ dans leur nom d'utilisateur (c'est interdit par défaut dans MediaWiki), vous devrez spécifier une demande alternative à utiliser via la clé preferred_username dans votre $wgPluggableAuth_Config.
Permettre @ dans les noms d'utilisateur peut casser la compatibilité inter-wiki de votre wiki (si vous l'utilisez).
Pour permettre l'utilisation du caractère @, il suffit de définir $wgInvalidUsernameCharacters = ' ';
et $wgUserrightsInterwikiDelimiter = '#';
dans LocalSettings.php.
Notes
Note : À la date à laquelle cet exemple a été écrit, il y a un bogue dans la bibliothèque PHP OpenID Connect qui fait que les fournisseurs OIDC plus stricts comme Okta rejettent certaines demandes. Cette question devrait être résolu à l'avenir lorsque la bibliothèque sera mise à jour pour intégrer la modification.
La solution est d'ajouter une ligne de code à $MEDIAWIKI_ROOT/extensions/OpenIDConnect/vendor/jumbojett/openid-connect-php/src/OpenIDConnectClient.php ainsi :
juste en-dessous : unset($token_params['client_secret']);
ajouter simplement : unset($token_params['client_id']); # voir https://github.com/jumbojett/OpenID-Connect-PHP/pull/208/commits/dd44c1ca7e45d35dcd8f32ea503b545149bc6562
(c'est corrigé dans la version 0.9.8)
Pour authentifier vos utilisateurs avec Okta, vous devez d'abord créer une nouvelle application OIDC dans votre organisation Okta et l'attribuer aux utilisateurs ou groupes concernés, etc.
Gitlab
Configurer l'émetteur
- Connectez-vous à la zone d'administration de Gitlab
- Allez dans Applications -> Nouvelle application
- Name: MediaWiki
- Redirect URI: <wiki server>/wiki/Special:PluggableAuthLogin
- Trusted: yes
- Confidential: yes
- Scopes: openid, profile, email
- Soumettre
- Copiez Application ID et Secret dans
LocalSettings.php
Configurer l'extension
Dans LocalSettings.php
// Extension PluggableAuth
wfLoadExtension( 'PluggableAuth' );
$wgPluggableAuth_EnableLocalLogin = true; // initialiser à false pour désactiver les connexions locales si nécessaire
// Extension OpenIDConnect
wfLoadExtension( 'OpenIDConnect' );
$wgPluggableAuth_Config['Login with your Gitlab Account'] = [
'plugin' => 'OpenIDConnect',
'data' => [
'providerURL' => '...', // Ajouter ici votre serveur gitlab (page d'accueil)
'clientID' => '...', // Insérez ici l'identifiant de l'application Gitlab
'clientsecret' => '...', // Insérez ici le secret de Gitlab
// Surnom éventuel
// Autre nom éventuel
'preferred_username' => 'nickname'
]
];
Vous pouvez trouver plus d'informations dans les documents de Gitlab sur OpenID Connect Provider.
Amazon Cognito
Amazon Cognito est un service d'identité utilisateur de AWS[5].
Configurer l'émetteur
Hypothèses :
- Votre identifiant de groupe d'utilisateurs Amazon Cognito est us-west-2_XdLg34nAA
- Votre région AWS est us-west-2
- Votre identifiant client vaut mediawiki
- Votre secret client généré automatiquement est 12345
Configurer l'extension
$wgPluggableAuth_Config[] = [
'plugin' => 'OpenIDConnect',
'data' => [
'providerURL' => 'https://cognito-idp.us-west-2.amazonaws.com/us-west-2_XdLg34nAA',
'clientID' => 'mediawiki',
'clientsecret' => '12345'
]
];
Pour des instructions détaillées sur la configuration d'Amazon Cognito pour ce cas d'utilisation, voir https://medium.com/@robert.broeckelmann/openid-connect-authorization-code-flow-with-aws-cognito-246997abd11a
NextCloud
Voir la page Nextcloud.
Configurer l'émetteur
Hypothèses :
- Exécution de Nextcloud version 24, ou Nextcloud All-In-One v3.0.0
- L'application OIDC Identity Provider v0.2.6 est installée dans Nextcloud. https://github.com/H2CK/oidc
- Votre nextcloud est exécuté à partir du domaine my.nextcloud.com
- URL publique: https://my.nextcloud.com/.well-known/openid-configuration est redirigé vers <your internal nextcloud server>/index.php/apps/oidc/openid-configuration par, par exemple, nginx ou un autre proxy inverse.
- A partir du compte administrateur Nextcloud, dans Settings > Security > "Open ID Connect clients" ajoutez un client avec les détails suivants
- Nom : wiki
- URI de redirection : The full URL to
Special:PluggableAuthLogin
, e.g.https://www.example.com/wiki/index.php/Special:PluggableAuthLogin
(Note: if your wiki's default language isn't english,Special
will be different!) - Algorithme de signature : RS256
- Entrer : confidential lorsque vous cliquez sur Ajouter, cela fournira la chaîne Client Identifier et la chaîne Secret. Entrez ces valeurs dans
LocalSettings.php
pourmyGeneratedID
etmyGeneratedSecret
comme ci-dessous.
Configurer l'extension
wfLoadExtension( 'PluggableAuth' );
$wgGroupPermissions['*']['autocreateaccount'] = true;
$wgPluggableAuth_EnableAutoLogin = true; // maintenant, l'utilisateur n'a plus le bouton 'login'/'logout'.
wfLoadExtension( 'OpenIDConnect' );
$wgPluggableAuth_Config[] = [
'plugin' => 'OpenIDConnect',
'data' => [
'providerURL' => 'https://my.nextcloud.com',
'clientID' => 'myGeneratedID',
'clientsecret' => 'myGeneratedSecret'
]
];
Notes de version
- Version 8.0.2
- Use case insensitive email comparison for email migration
- Improved random username generation
- Version 8.0.1
- Reverted back to version 0.9.10 of https://github.com/jumbojett/OpenID-Connect-PHP for stability
- Version 8.0.0
- Allow multiple identity providers to map to a single user (T361877)
- Version 7.2.0
- Add processor functions (T357752) to allow username, real name, and email normalization
- Add random username generator
- Updated to version 1.0.0 of https://github.com/jumbojett/OpenID-Connect-PHP
- Code clean-up (added tests, removed deprecations)
- Version 7.1.0
- Support custom issuer validator (T360249)
- Version 7.0.2
- Utilisez le jeton ID d'identification pour obtenir les demandes lors de l'authentification (T348931)
- Version 7.0.1
- Permettre à l'attribut de configuration preferred_username d'être null ou vide (T339311)
- Version 7.0.0
- Rendre compatible avec PluggableAuth 7.0.0
- Ajouter une déconnexion unique optionnelle (
$wgOpenIDConnect_SingleLogout
) - Remplacer ForceLogout (qui était cassé) par ForceReauth (
$wgOpenIDConnect_ForceReauth
) - Ajouter une fonction pour obtenir un jeton d'accès avec un jeton de rafraîchissement
- Utilisez le nouveau cadre de population de groupe PluggableAuth; prend en charge la récupération des attributs comprenant des groupes
- Améliorations du code
- Correction de bogues :
- T307353: Mauvaise condition de requête dans la migration du nom d'utilisateur
- Version 6.2
- Mise à jour de la version de la bibliothèque jumbojett/openid-connect-php à 0.9.10
- Remplacer User::idFromName obsolète
- Version 6.1
- Vérifier que l'accroche pour populer les groupes n'est exécutée que pour les instances du greffon OpenID Connect
- Version 6.0
- Mise à jour pour être compatible avec PluggableAuth version 6.0
- Version 5.4
- Mise à jour de jumbojett/openid-connect-php à la version 0.9.1
- Bogue corrigé en essayant l'autentification avec Okta quand des paramètres supplémentaires sont envoyés dans la requête et faisant échouer la demande
- Version 5.3
- Bogue corrigé lors de la migration des noms d'utilisateur commençant par une minuscule (T249630)
- Version 5.2
- Ajout d'options de configuration optionnelles pour désactiver la vérification des noms d'hôte et des certificats, pour une utilisation dans des environnements de développement avec des certificats auto-émis
- Version 5.1
- Ajout de la génération de l'URL complète de redirection afin que la bibliothèque PHP OpenID Connect n'ait pas besoin de la deviner n'ayant parfois pas assez d'informations pour faire correctement
- Version 5.0
- Déplacement des colonnes subject et issuer de la tables user vers openid_connect (exige une mise à jour de la base de données)
- Ajout du support pour Postgres
- Version 4.1
- Ajout de l'espace de noms pour la classe de la bibliothèque
- Version 4.0
- Ajout de message d'erreur optionnel à authenticate()
- Numéro de version incrémenté pour se synchroniser avec les extensions PluggableAuth et SimpleSAMLphp
- Version 2.3
- Correction de l'implémentation de la liste blanche
- Modifier les drapeaux de migration pour permettre la migration par l'adresse courriel en plus de la migration par nom d'utilisateur
- Version 2.2
- Corrections liées à la mise à jour de PluggableAuth MediaWIki 1.27
- Conventions de codage des tableaux
- Version 2.1
- Mise à jour de MediaWiki 1.27 pour la gestion de session
- Ajout des valeurs par défaut pour les variables de configuration à extension.json
- Version 2.0
- Mise à jour de l'enregistrement des extensions
- Modification des variables de configuration pour utiliser le préfixe wg
- Ajout de composer.json pour que la bibliothèque OpenID Connect puisse utiliser composer
- Version 1.2
- Ajout de la possibilité de spécifier les paramètres auth et ajout du support pour les préfixes des table
- Version 1.1
- Support ajouté pour Google
- Version 1.0
- Version initiale
Problèmes connus
- Les wikis qui utilisent des URLs de la forme
https://example.org/w/index.php?title=Page_title
(c'est-à-dire qui ont le titre de la page est fourni comme paramètre de la requête) ne seront pas redirigés correctement pour compléter le flux de l'authentification. Au lieu de cela, les URL doivent être de la formehttps://example.org/w/index.php/Page_title
, ce qui peut être réalisé en utilisant URLs courtes ou en définissant$wgArticlePath
de manière appropriée. - Cette extension peut ne pas fonctionner correctement avec
$wgMainCacheType = CACHE_ACCEL;
. Dans ce cas, vous devez également définir$wgSessionCacheType = CACHE_DB;
(voir tâche T147161). - Cette extension ne fonctionne pas sur les ports non standard à moins que vous ne mettiez manuellement à jour le client Openid connect sous-jacent, voir: jumbojett/OpenID-Connect-PHP issue 58 sur GitHub. Ce problème s'applique également lors de la connexion à d'autres serveurs web que IIS.
- Lors de l'exécution du script de maintenance
createAndPromote.php
, les extensions PluggableAuth et OpenID Connect doivent être désactivées en commentant leur appel dewfLoadExtension()
. - This extension does not support custom well-known endpoints. This means Azure Active Directory B2C's OpenID Connect authentication flow is currently not supported.
Notes
- ↑ openid.net: OpenID Provider Configuration Request
- ↑ 2.0 2.1 Notez que le lien pour l'URI de redirection autorisée doit être localisé, par exemple si vous définissez la langue de l'instance de votre wiki à
'de'
($wgLanguageCode = 'de';
) vous devez spécifier https://[URLofWiki]/wiki/Spezial:PluggableAuthLogin. - ↑ Identificateur de ressource uniforme (URI)
- ↑ OpenID Connect (OIDC)
- ↑ Amazon Web Services (AWS)
Voir aussi
- Extension:PluggableAuth
- Extension:SimpleSAMLphp
- Extension:Email Authorization
- Extension:LDAP Authorization
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |