Procédure pour créer un service OAuth2 pour l'envoi de courriels

Procédure pour créer un service OAuth2 pour l'envoi de courriels

Contexte

Microsoft a publié un article en 2024 à l'effet que l'authentification de base n'était plus disponible pour des services comme l'authentification SMTP (source: https://learn.microsoft.com/fr-ca/exchange/clients-and-mobile-in-exchange-online/deprecation-of-basic-authentication-exchange-online.)

Certains sites Moodle utilisent cette authentification SMTP afin de fournir un service d'envoi de courriels pour leur plateforme. Si c'est le cas pour vos sites Moodle, il faudra passer à une authentification par OAuth2 pour ce service. Cet article vous guide dans la création d'un service OAuth2 dans votre environnement AzureAD/EntraID ainsi que pour la paramétrisation dans Moodle afin de permettre à ce service d'envoyer les courriels générés par la plateforme.

Configuration AzureAD

1. Suivre la documentation officielle de Moodle ici (Azure seulement) : https://docs.moodle.org/500/en/OAuth_2_Microsoft_service


2. Sous Permissions d’API, ajouter les permissions déléguées suivantes :

  • SMTP.Send

  • Mail.Send





3. Récupérer les points de terminaison OAuth2 :

Dans  la section  App registrations → [Nom de l’application] → Overview → Endpoints

Prendre en note les deux URL suivantes à utiliser ultérieurement dans la configuration Moodle :

  • OAuth 2.0 authorization endpoint (v2)authorization_endpoint

  • OAuth 2.0 token endpoint (v2)token_endpoint


Configuration OAuth2 (Moodle)

1. Dans Moodle, créer un service Microsoft - SMTP XOAUTH2

  1. Accès : Administration du site → Serveur → Services OAuth2 (ou ajouter /admin/tool/oauth2/issuers.php à l’URL de votre site).
  2. Si un service Microsoft existe déjà, donner un nom différent à ce nouveau service




2. Paramétrer avec les informations de votre application Azure.

  • ID client

  • Secret client

  • Ce service sera utilisé:  Seulement SMTP avec XOAUTH2

  • Adresse de courriel SMTP: Saisir l’adresse SMTP utilisée

Warning

Important : l’adresse courriel SMTP doit avoir :

  • Une licence Exchange Online.

  • Le service SMTP Auth activé (documentation).

  • Un enregistrement SPF pour autoriser Microsoft à envoyer des courriels sur votre domaine :
    include:spf.protection.outlook.com
       Exemple :
           v=spf1 include:spf.protection.outlook.com -all
                  ( À ajouter si ce n’est pas déjà le cas)




 3. Enregistrer les modifications.


4. Dans la liste des services OAuth2, cliquer sur l’icône loupe 




5. Ajouter les points de terminaison authorization_endpoint et token_endpoint de votre application Azure

  • authorization_endpoint

  • token_endpoint

6. Retourner à la liste des services OAuth2 et autoriser l’API :

Connectez-vous avec le compte de messagerie qui sera utilisé pour l’envoi SMTP (celui qui possède une licence Exchange Online et pour lequel l’authentification SMTP est activée). Assurez-vous de sélectionner explicitement ce compte lors de la connexion et non un autre compte déjà ouvert via SSO. Utilisez si nécessaire un navigateur privé pour éviter toute connexion automatique avec un mauvais compte.

Note : Un administrateur Azure doit approuver les permissions de l’application lors de la première connexion avant que l’adresse SMTP puisse être utilisée.


Un crochet vert devrait alors apparaître.



Configuration SMTP (Moodle)

1. Aller dans la configuration du courriel sortant :

Administration du site → Serveur → Courriel → Configuration du courriel sortant
(ou ajouter /admin/settings.php?section=outgoingmailconfig à l’URL de votre site).

2. Paramétrer :

  • Hôtes SMTP:  smtp.office365.com:587

  • Sécurité SMTP : TLS

  • Type d’authentification SMTP : XOAUTH2

  • Service OAuth2 : Sélectionner le nouveau service Microsoft créé

  • Nom d’utilisateur SMTP : L’adresse avec licence Exchange Online et SMTP Auth activé.


Valider le service

Tester l’envoi de courriels :

Administration du site → Serveur → Courriel → Test de la configuration du courriel sortant
(ou ajouter /admin/testoutgoingmailconf.php à l’URL de votre site).

Si le test réussit et que vous recevez le courriel, la configuration OAuth2 pour l’envoi de courriels est fonctionnelle.




    • Related Articles

    • Envoi de SMS/texto avec Koha (en révision)

      Dans cette capsule, Il est question de comment paramétrer la fonctionnalité d’envoi de SMS ou texto pour les utilisateurs en ce qui concerne les notifications propres à la circulation (document en retard, réservation, avis de courtoisie, etc.). 1. ...
    • FAQ thématique pour les Administrateurs de Moodle

      AVERTISSEMENT: Ce document a été rédigé et enrichi au fil du temps et des différentes versions de Moodle. Il se peut que certaines informations ne soient pas à jour ou soient devenues caduques. Nous n’avons malheureusement le temps de tout valider ...
    • WeBWorK - Procédure de création d'un lien entre Moodle et le service WeBWorK du CCDMD

      À la suite d'un changement important dans la gestion des outils externes (LTI) dans Moodle, la procédure pour faire un lien d'un cours vers le service WeBWorK du CCDMD s'est considérablement alourdie. Il n'est plus possible de faire une ...
    • Dupliquer les informations d’un produit

      Dans cette capsule, nous aborderons la possibilité de dupliquer des informations d'une fiche de produit. Lorsque l'on consulte la fiche d'un produit dans le module de l'inventaire, nous avons deux options pour copier l’information déjà enregistrée. ...
    • Code javascript pour l’OPAC

      L'article suivant présente des codes Javascript pouvant être utilisés pour personnaliser l'OPAC. 0. Configurations 0.1 Préférence OPACUserJS Il faut ajouter les codes dans la préférence système OPACUserJS. Les changements effectués par ces codes ...