Aller au contenu principal

Configuration de l'authentification OAuth Outlook/Microsoft 365

Ce guide vous accompagne dans la création d'une application Microsoft Azure pour l'authentification OAuth avec Outlook/Microsoft 365. OAuth offre un moyen plus sécurisé d'accéder à votre compte Outlook par rapport à l'authentification traditionnelle par mot de passe.

Prérequis

  • Un compte Microsoft (personnel ou Microsoft 365/Office 365)
  • Accès au portail Azure
  • L'URL de votre installation Perfex CRM (pour la configuration de l'URI de redirection)
info

Pour les organisations Microsoft 365, vous pourriez avoir besoin de l'approbation d'un administrateur.

Configuration étape par étape

Étape 1 : Enregistrer une application dans le portail Azure

  1. Allez sur le portail Azure
  2. Connectez-vous avec votre compte Microsoft
  3. Naviguez vers "Azure Active Directory" (ou recherchez-le)
  4. Cliquez sur "App registrations" dans le menu de gauche
  5. Cliquez sur "+ New registration"
  6. Remplissez les détails de l'application :
    • Name : Entrez un nom (par ex., « Perfex CRM Mailbox »)
    • Supported account types : Choisissez "Accounts in any organizational directory and personal Microsoft accounts" pour une compatibilité maximale
    • Redirect URI :
      • Plateforme : Web
      • URI : https://your-domain.com/admin/mailbox/oauth/callback?provider=outlook
      • Remplacez your-domain.com par votre domaine Perfex CRM réel
  7. Cliquez sur "Register"

Étape 2 : Configurer les permissions API

  1. Dans votre enregistrement d'application, cliquez sur "API permissions" dans le menu de gauche
  2. Cliquez sur "+ Add a permission"
  3. Sélectionnez "Microsoft Graph"
  4. Sélectionnez "Delegated permissions"
  5. Ajoutez les permissions suivantes :
    • Mail.Read - Lire les e-mails dans toutes les boîtes aux lettres
    • Mail.ReadWrite - Lire et écrire les e-mails dans toutes les boîtes aux lettres
    • Mail.Send - Envoyer des e-mails en tant qu'utilisateur
    • offline_access - Maintenir l'accès aux données auxquelles vous avez accordé l'accès (pour le rafraîchissement du token)
  6. Cliquez sur "Add permissions"
  7. IMPORTANT : Cliquez sur "Grant admin consent for [Your Organization]" si vous voyez ce bouton
attention

Ceci est requis pour les comptes d'organisation. Cela nécessite des privilèges d'administrateur.

Étape 3 : Créer un secret client

  1. Dans votre enregistrement d'application, cliquez sur "Certificates & secrets" dans le menu de gauche
  2. Cliquez sur "+ New client secret"
  3. Entrez une description (par ex., « Perfex Mailbox Secret »)
  4. Choisissez une période d'expiration : 24 mois (recommandé pour la production)
  5. Cliquez sur "Add"
  6. IMPORTANT : Copiez la Value immédiatement (vous ne pourrez plus la voir) - c'est votre Client Secret

Étape 4 : Obtenir l'Application (Client) ID

  1. Dans votre enregistrement d'application, allez dans "Overview"
  2. Copiez l'Application (client) ID - c'est votre Client ID

Étape 5 : Configurer l'URI de redirection (vérification)

  1. Dans votre enregistrement d'application, cliquez sur "Authentication" dans le menu de gauche
  2. Sous "Redirect URIs", vérifiez que votre URI de redirection est listée :
https://your-domain.com/admin/mailbox/oauth/callback?provider=outlook
  1. Si absente, cliquez sur "+ Add a platform" > "Web" et ajoutez-la
  2. Sous "Implicit grant and hybrid flows", assurez-vous que "Access tokens" est coché (si disponible)
  3. Cliquez sur "Save"

Étape 6 : Configurer dans Perfex CRM

  1. Allez dans votre zone d'administration Perfex CRM
  2. Naviguez vers Mailbox > Configuration
  3. Sélectionnez "OAuth2" comme méthode d'authentification
  4. Sélectionnez "Outlook" comme fournisseur
  5. Entrez votre Client ID (Application ID depuis Azure)
  6. Entrez votre Client Secret (la valeur du secret que vous avez copiée)
  7. Pour les organisations Microsoft 365 : Entrez votre Tenant ID (trouvable dans Azure AD > Overview). Laissez vide pour les comptes Microsoft personnels.
  8. Cliquez sur "Save Configuration"
  9. Cliquez sur le bouton "Connect Outlook"
  10. Autorisez l'application dans la fenêtre popup Microsoft
  11. Vous devriez voir un message de succès confirmant la connexion

Limitations et considérations importantes

Restrictions de l'application Azure Microsoft

Ces limitations sont imposées par Microsoft, pas par notre logiciel.
  1. Exigences de consentement administrateur - Les comptes d'organisation (Microsoft 365/Office 365) nécessitent un consentement administrateur pour certaines permissions. L'administrateur doit approuver l'application avant que les utilisateurs puissent l'utiliser.

  2. Restrictions de type de compte :

    • « Accounts in this organizational directory only » - Uniquement les utilisateurs de votre organisation
    • « Accounts in any organizational directory » - Utilisateurs de n'importe quelle organisation Microsoft 365
    • « Accounts in any organizational directory and personal Microsoft accounts » - Compatibilité maximale
    • « Personal Microsoft accounts only » - Uniquement les comptes personnels @outlook.com, @hotmail.com
  3. Exigences du Tenant ID - Les comptes d'organisation nécessitent un Tenant ID pour une authentification correcte. Les comptes personnels peuvent le laisser vide.

Vérification et publication de l'application

  • Les applications non vérifiées peuvent être utilisées immédiatement pour les comptes personnels mais peuvent afficher des messages d'avertissement aux utilisateurs.
  • Les applications vérifiées nécessitent une soumission au Microsoft App Store (optionnel) et offrent une meilleure expérience utilisateur (sans avertissements).
  • Workflow de consentement administrateur - Pour les comptes d'organisation, l'administrateur doit accorder le consentement. L'administrateur voit quelles permissions l'application demande.

Rafraîchissement des tokens

Notre module gère automatiquement le rafraîchissement des tokens :

  • Refresh tokens : Obtenus automatiquement avec la permission offline_access
  • Expiration des tokens : Typiquement 1 heure pour les access tokens, 90 jours pour les refresh tokens
  • Rafraîchissement automatique : Notre module rafraîchit les tokens automatiquement avant leur expiration

Multi-Tenant vs Single-Tenant

  • Multi-Tenant : L'application peut être utilisée par n'importe quel compte Microsoft (nécessite un consentement administrateur par organisation)
  • Single-Tenant : L'application ne peut être utilisée qu'au sein de votre organisation

Notes

  • L'URI de redirection doit correspondre exactement à ce que vous avez configuré dans le portail Azure
  • Gardez votre Client Secret en sécurité - ne le partagez jamais publiquement
  • Si vous changez de domaine, mettez à jour l'URI de redirection dans le portail Azure
  • Pour les comptes d'organisation, assurez-vous que le consentement administrateur est accordé
  • Le Tenant ID n'est nécessaire que pour les comptes Microsoft 365/Office 365
  • Le flux OAuth est entièrement géré par Microsoft - notre module ne fait qu'initier et recevoir le callback

Dépannage

Erreur « AADSTS50011: Redirect URI mismatch » :

  • Assurez-vous que l'URI de redirection dans le portail Azure correspond exactement : https://your-domain.com/admin/mailbox/oauth/callback?provider=outlook
  • Vérifiez les barres obliques finales ou les différences HTTP vs HTTPS
  • Vérifiez que l'URI est listée sous le type de plateforme « Web »

Erreur « Admin consent required » :

  • C'est normal pour les comptes d'organisation (politique de Microsoft)
  • Contactez votre administrateur Microsoft 365 pour accorder le consentement
  • L'administrateur peut accorder le consentement dans Azure Portal > Enterprise applications

Erreur « Invalid client secret » :

  • Les secrets clients expirent - créez-en un nouveau dans le portail Azure
  • Assurez-vous d'avoir copié la « Value » (pas le Secret ID)
  • Vérifiez que le secret n'a pas expiré

Erreur « AADSTS700016: Application not found » :

  • Vérifiez que le Client ID est correct
  • Assurez-vous d'utiliser l'Application (client) ID, pas l'Object ID
  • Vérifiez que l'enregistrement de l'application existe dans le bon tenant Azure AD

Erreur « Token refresh failed » :

  • Assurez-vous que la permission offline_access est accordée
  • Vérifiez que le consentement administrateur a été accordé (pour les comptes d'organisation)
  • Vérifiez que le secret client n'a pas expiré

Ressources supplémentaires

info

Les exigences de consentement administrateur, les restrictions de type de compte et les politiques de tokens sont des politiques de sécurité de Microsoft pour les applications Azure. Ces limitations ne sont pas imposées par notre logiciel.