Configurations EntraID (AzureAD) pour authentification SAML2
Contexte
Ce guide s'adresse aux administrateurs TI qui veulent mettre en place l'authentification SAML2 sur Moodle. Vous y trouverez la démarche dans le portail Azure ainsi que quelques conseils pour la configuration.
ATTENTION
L'activation d'une nouvelle méthode d'authentification dans Moodle peut engendrer de doublons des comptes déjà existants. On peut temporairement activer une nouvelle méthode pour tester la configuration, mais il faut la désactiver tant que les comptes existants n'ont pas été ajustés de façon à être conformes à la nouvelle méthode.
Lorsque vos tests sont concluants, veuillez communiquer avec Collecto pour planifier le déploiement définitif. Des correspondances seront sans doute nécessaires et il faudra modifier en lot la méthode d’authentification de l’ensemble des utilisateurs (par exemple, de DB à SAML2) et gérer les quelques comptes (parfois assez nombreux) de comptes manuels créés au fil du temps dans Moodle.
Installation du plugin SAML2
À votre demande, l'équipe de Moodle-Collecto fera l'installation du plugin auth_saml2
Récupération des données dans Moodle
À partir de la page d'accueil de Moodle, sélectionnez l'onglet Administration du site > Plugins > Section Authentification, Gestion de l'authentification
À la ligne SAML2, dans le tableau des types d'authentification, sélectionnez Paramètres
Sélectionnez Afficher les métadonnées du fournisseur
Copiez les URL de EntityID et la localisation de AssertionConsumerService POST. Ces données seront réutilisées pour la configuration dans Azure.
Configurations dans EntraID
Création de l'application
Dans le portail Azure, Sélectionnez Enterprise applications
Sélectionnez New application
Sélectionnez Create your own application
Un menu contextuel s'affiche.
1. Donnez un nom significatif à votre application
2. Choisir une application autre que les choix qui s'affichent
3. Appuyez sur Créer
4. Sélectionnez l'option Single sign-on dans le bandeau de gauche
5. Sélectionnez la tuile SAML
Éditez les configurations SAML2 dans la première boîte
C'est le moment de reprendre les données récupérer plus tôt dans Moodle
6. Appuyer sur Ajouter un identifiant pour Identifier (Entity ID) et coller la valeur voulue
7. Appuyer sur Ajouter un identifiant pour le Reply URL (Assertion Consumer Service URL) et coller la valeur voulue
8. Sauvegarder
Mappage des données
Assurez-vous que les données nécessaires dans Moodle sont bien envoyées par l'application
Si des informations sont manquantes, sélectionnez Add new claim
Dans le formulaire
9. Saisissez un nom
10. Sélectionnez un attribut
11. Sauvegarder
À noter!
En sélectionnant Transformation en tant que source, il est aussi possible de transformer des données à l'aide de fonctions REGEX.
Par exemple, pour ne récupérer que la première partie du courriel.
Ajout de groupe
Afin que les utilisateurs puissent utilisez l'authentification SAML2, n'oubliez pas d'autoriser la connexion dans les paramètres Users and groups de l'application Azure
Configuration dans Moodle
Métadonnées XML
L'URL des métadonnées XML doit être récupéré dans la section 3 dans l'application Azure et insérer dans le champ suivant de Moodle

Mappage dans Moodle
L'option Simplifier les attributs permet d'isoler l'identifiant. Il ne sera pas nécessaire d'inscrire au long le schéma en activant cette option.
Atteindre la page de connexion avec la redirection forcée activée
Lors que la redirection est forcée vers l'authentification Microsoft, on peut modifier l'URL afin d'accéder au formulaire de connexion manuel en injectant :
Mot de passe de la clé de certificat privée
Il arrive qu'une valeur s'insère automatiquement dans le mot de passe de la clé de certificat privée. Il est important d'effacer cette information avant d'enregistrer une dernière fois les configurations et d'effectuer les tests de connexion.
Regénérer le certificat
Le certificat de l'authentification expire au bout d'une période déterminer (habituellement 2 ans). Le renouvellement du certificat est disponible à partir de la page de configuration du plugin SAML2.

On doit par la suite lancer la tâche programmée "Tâche d’actualisation des métadonnées"
Messages d'erreur
Execption SAML2 : Unable to validate Signature
L'URL pour les métadonnées XML, n'est pas le bon.

AADSTS50105
L'utilisateur n'est pas ajouté au groupe ayant la permission de se connecter à cette application
Solution
Dans Users and groups de l'application Azure, ajouter les groupes correspondants