API OAuth pour l'e-mail : authentifiez les boîtes aux lettres des utilisateurs de la bonne manière (2026)

Guide API OAuth pour les e-mails 2026

API OAuth par e-mail : Authentifier les boîtes aux lettres des utilisateurs la bonne façon

Arrêtez de stocker des mots de passe. Une API d'e-mail OAuth permet à votre application d'accéder de manière sécurisée aux boîtes de réception des utilisateurs - en utilisant des jetons révocables et à portée limitée de Gmail, Outlook et des fournisseurs IMAP. Ce guide couvre tous les flux OAuth, toutes les étendues, tous les pièges et comment expédier en 5 minutes avec une couche d'authentification unifiée hébergée.

connect-mailbox.js
// Connecter n'importe quelle boîte aux lettres utilisateur via OAuth - 1 appel API const response = await fetch( 'https://api6.unipile.com:13226/api/v1/hosted/accounts/link', { method: POST, headers: { 'X-API-KEY': 'VOTRE_CLÉ_API', 'Content-Type': 'application/json' }, body: JSON.stringify({ type : 'Google', // ou MICROSOFT, IMAP nom : 'utilisateur_123' }) } ); const { url } = await réponse.json(); // Rediriger l'utilisateur vers l'URL - OAuth géré par Unipile
Gmail, Outlook, IMAP - un flux d'authentification hébergé
Fonctionne avec : Gmail Outlook IMAP
Définition

Qu'est-ce qu'une API email OAuth ?

Un API de messagerie OAuth est une interface programmatique qui accorde à votre application l'accès aux boîtes aux lettres des utilisateurs à l'aide de jetons OAuth 2.0, sans jamais manipuler ni stocker le mot de passe de l'utilisateur. Au lieu de demander des identifiants aux utilisateurs, vous les redirigez vers l'écran de consentement du fournisseur, recevez un jeton d'accès de courte durée et l'utilisez pour lire, envoyer ou synchroniser des e-mails en leur nom. La distinction est importante : il s'agit d'accéder boîtes aux lettres appartenant à des utilisateurs (Gmail, Outlook, e-mail personnel), ne pas envoyer d'e-mails transactionnels via des services de relais SMTP tels que SendGrid.

Définition canonique

Un API de messagerie OAuth est une combinaison d'un flux d'autorisation OAuth 2.0 (pour authentifier un utilisateur et obtenir un accès délégué) et d'une API d'e-mail (pour lire, envoyer, rechercher ou synchroniser la boîte aux lettres de cet utilisateur). La couche OAuth génère un jeton d'accès révocable, limité en portée et signé cryptographiquement. L'API d'e-mail consomme ce jeton pour interagir avec Gmail, Outlook ou toute boîte aux lettres compatible IMAP, le tout sans jamais connaître le mot de passe de l'utilisateur.

Accès IMAP par mot de passe
  • Stocke les mots de passe en texte brut ou chiffrés dans votre base de données
  • Accès complet à la boîte aux lettres - aucun contrôle de portée
  • Bloqué par Google/Microsoft depuis 2026
  • Responsabilité RGPD/SOC2 pour le stockage des identifiants
Accès par e-mail API OAuth
  • Stockage de mot de passe nul - jetons de courte durée uniquement
  • Portées granulaires - lecture seule, envoi uniquement ou complète
  • Révocable à tout moment par l'utilisateur
  • Conforme au RGPD, SOC2
Contexte

Pourquoi OAuth a remplacé l'accès par e-mail basé sur mot de passe

Utiliser IMAP avec un nom d'utilisateur et un mot de passe était autrefois la méthode standard pour accéder programmatiquement aux e-mails des utilisateurs. Cette époque est révolue. Google a déprécié l'authentification de base pour Gmail en 2022, et Microsoft a achevé la désactivation de l'authentification de base pour Exchange Online en octobre 2022, avec un dernier nettoyage pour les protocoles restants prévu pour 2026. Si votre application dépend toujours de l'accès IMAP basé sur un mot de passe, elle est déjà cassée ou le sera bientôt.

Sécurité : aucune sauvegarde de mot de passe

Les jetons OAuth ont une durée de vie courte (généralement 1 heure) et sont limités en portée. Même s'ils sont divulgués, ils ne peuvent pas être utilisés pour se connecter en tant qu'utilisateur, changer son mot de passe ou accéder à d'autres services. Vous n'utilisez jamais les identifiants de l'utilisateur.

L'échéance de 2026 : fin de la prise en charge de l'authentification de base par Microsoft

Microsoft a terminé le retrait de l'authentification de base pour Exchange Online et les anciens protocoles IMAP en 2026. Toute application utilisant encore un nom d'utilisateur + mot de passe pour accéder aux boîtes aux lettres Outlook ou Microsoft 365 recevra des erreurs 401 Unauthorized.

Conformité : RGPD et SOC2

Le stockage des mots de passe utilisateur - même hachés - crée une responsabilité en matière de conformité. Le principe de minimisation des données du RGPD exige de ne pas collecter ce dont vous n'avez pas besoin. Les auditeurs SOC2 signalent le stockage des identifiants.

Critique Les mots de passe d'application Google et les protocoles hérités de Microsoft ne sont plus suffisants pour les applications de production. Si vous créez un produit qui accède aux boîtes aux lettres des utilisateurs, un API de messagerie OAuth n'est pas optionnel – c'est la seule voie conforme en 2026.

Comment ça marche

Comment OAuth fonctionne pour les API de messagerie (étape par étape)

Le flux d'autorisation par code est le flux OAuth 2.0 standard pour les applications côté serveur qui ont besoin d'accéder à l'e-mail de l'utilisateur. Le comprendre de bout en bout vous aide à le mettre en œuvre correctement, à déboguer les échecs de jetons et à expliquer le flux à votre équipe de sécurité.

01
Votre application redirige l'utilisateur vers l'URL d'autorisation du fournisseur

Vous construisez une URL avec votre client_id, une uri_de_redirection, la, la ci-jointe portée, un aléatoire état paramètre (protection CSRF), et type_de_réponse=code. L'utilisateur est redirigé vers l'écran de consentement de Google ou de Microsoft.

02
L'utilisateur examine et approuve les portée demandées

L'écran de consentement affiche le nom de votre application, son logo et les autorisations exactes que vous avez demandées. L'utilisateur approuve (accorde le consentement) ou refuse. Demander trop de scopes à cette étape est la cause la plus fréquente de rejet du consentement.

03
Le fournisseur renvoie un code d'autorisation vers votre URI de redirection

Après consentement, le fournisseur redirige vers votre uri_de_redirection avec un destin éphémère code paramètre (valide pendant ~10 minutes). Vérifier le état le paramètre correspond à ce que vous avez envoyé pour empêcher les attaques CSRF.

04
Votre backend échange le code contre des jetons

POST serveur à serveur au point de terminaison de jeton avec votre client_id, secret_client, le code, ou encore type_octroi=code_autorisation. Vous recevez un access_token et (si vous avez demandé l'accès hors connexion) un token_rafraîchissement.

05
Utilisez le jeton d'accès pour appeler l'API de messagerie

Passez le jeton d'accès dans la Autorisation : Support en-tête sur chaque requête API. Lorsqu'il expire (généralement après 1 heure), utilisez le jeton de rafraîchissement pour obtenir un nouveau jeton d'accès sans interaction de l'utilisateur.

Tokens d'accès vs tokens de rafraîchissement : cycle de vie

Jeton d'accès
Crédential éphémère

Valide pendant 1 heure (Google) ou 1 heure (Microsoft). Transmis dans l'en-tête Autorisation à chaque appel d'API. Lorsqu'il expire, votre appel d'API OAuth par e-mail renvoie une erreur 401 - le signal de rafraîchissement.

Jeton de rafraîchissement
Credential de renouvellement de longue durée

Valide jusqu'à révocation (Google) ou 90 jours d'inactivité (Microsoft). Jamais envoyé aux points d'API - utilisé uniquement de serveur à serveur pour obtenir de nouveaux jetons d'accès. Doit être chiffré au repos.

Créez un flux OAuth unifié en quelques minutes

Éliminez la plomberie d'autorisation par fournisseur. Un seul appel à l'API Unipile remplace trois intégrations OAuth.

Construisez-le maintenant
Par fournisseur

Flux OAuth par fournisseur : Google et Microsoft

Google et Microsoft implémentent chacun OAuth 2.0 différemment - points d'accès d'autorisation différents, scopes différents, points d'accès de jeton différents et processus de vérification différents. IMAP est le recours de secours basé sur les identifiants pour les fournisseurs sans OAuth standardisé. Voici ce que vous devez savoir pour chaque cas.

Google OAuth 2.0 (Gmail)
Autorisation : accounts.google.com/o/oauth2/v2/auth

L'implémentation OAuth de Google utilise le flux standard du code d'autorisation. Le point de terminaison du jeton est https://oauth2.googleapis.com/token. La complexité critique est Google CASA (Cloud Application Security Assessment) : dès que votre application dépasse 100 utilisateurs, vous devez passer un examen de sécurité. Pour des scopes sensibles comme gmail.modifier ou gmail.lecture seule, une vérification de l'application est requise avant son utilisation en production. Pour une vérification complète Intégration approfondie de l'API Gmail, consultez notre guide dédié. Les détails d'implémentation se trouvent dans le Documentation Google OAuth Unipile.

gmail.lecture seule gmail.envoyer gmail.modifier libellés gmail
gmail-token-exchange.sh
Code d'autorisation Exchange # pour l'accès à Gmail + jetons d'actualisation curl -X POST https://oauth2.googleapis.com/token \ -d "code=CODE_AUTORISATION" \ -d "client_id=VOTRE_CLIENT_ID" \ -d "client_secret=VOTRE_CLIENT_SECRET" \ -d "redirect_uri=https://yourapp.com/callback" \ -d "grant_type=authorization_code" Réponse # : { "access_token": "...", "refresh_token": "...", "expires_in": 3600 }
Microsoft Identity Platform (Outlook)
Couvre Outlook.com, Microsoft 365 et Exchange Online

Microsoft utilise sa plateforme d'identité (anciennement Azure AD v2). Le point de terminaison de jeton est https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token. La vérification de l'éditeur est requise avant que votre application API Oauth pour les e-mails puisse demander des étendues d'e-mail sensibles en production. Microsoft a déprécié l'authentification de base pour tous les protocoles Exchange Online - OAuth est obligatoire. Voir notre guide complet de Microsoft Graph pour le courrier électronique pour plus de détails, et le Documentation Microsoft OAuth Unipile pour référence de mise en œuvre.

Mail.Read Mail.Send Mail.ReadWrite accès_hors_ligne
microsoft-token-exchange.sh
Code d'échange # pour les jetons OAuth Microsoft curl -X POST https://login.microsoftonline.com/common/oauth2/v2.0/token \ -d "code=CODE_AUTORISATION" \ -d "client_id=VOTRE_CLIENT_ID" \ -d "client_secret=VOTRE_CLIENT_SECRET" \ -d "redirect_uri=https://yourapp.com/callback" \ -d "grant_type=authorization_code" \ -d "scope=https://graph.microsoft.com/Mail.Read offline_access" Réponse # : { "access_token": "...", "refresh_token": "...", "expires_in": 3600 }
IMAP : Quand OAuth n'est pas disponible
Authentification par nom d'utilisateur/mot de passe ou par mot de passe d'application

IMAP n'est pas un fournisseur OAuth : c'est un protocole qui s'authentifie avec un nom d'utilisateur/mot de passe, ou des mots de passe d'application (tels qu'un mot de passe d'application Google ou un mot de passe généré par iCloud). C'est la solution de repli pour les serveurs de messagerie personnalisés, les domaines d'entreprise non hébergés sur Microsoft 365, et tout fournisseur sans flux OAuth standardisé. XOAUTH2 existait en tant qu'extension SASL IMAP pour un petit nombre de fournisseurs, mais il a été largement abandonné – Yahoo a cessé son implémentation propriétaire en 2022. Pour la plupart des déploiements IMAP, Unipile s'authentifie directement avec les identifiants. Voir le Guide d'intégration IMAP pour la configuration du serveur et les détails d'authentification.

nom d'utilisateur/mot de passe mot de passe de l'application IMAP4_SSL STARTTLS
imap-credentials.py
import base64, imaplib # Créer une chaîne XOAUTH2 à partir d'un jeton d'accès OAuth déf construire_xoauth2(adresse_electronique_utilisateur, jeton_acces) auth_str = utilisateur={user_email}\x01auth=Bearer {access_token}\x01\x01" return base64.b64encode(auth_str.encode()).decode() # : connexion via IMAP avec XOAUTH2 conn = imaplib.IMAP4_SSL("imap.mail.yahoo.com") auth_str = construire_xoauth2("user@yahoo.com", jeton_d_accès) conn.authentifier("XOAUTH2", lambda x : auth_str)
Le coût réel

La complexité cachée de l'OAuth multi-fournisseurs

La mise en œuvre d'une API OAuth pour l'e-mail d'un fournisseur prend quelques jours. La mettre en œuvre correctement pour Gmail, Outlook et IMAP – avec une gestion des jetons prête pour la production, une gestion des erreurs et la conformité – prend généralement 4 à 8 semaines de temps d'ingénierie. Voici pourquoi.

3 consoles développeur distinctes

La console Google Cloud, le portail Azure et le réseau de développeurs Yahoo sont 3 tableaux de bord entièrement différents avec des UX différentes, des flux d'enregistrement d'applications différents et des exigences de vérification différentes. La rotation de toute credential touche les 3.

Revue de sécurité Google CASA Tier 2

Les champs d'application sensibles de Gmail (y compris gmail.lecture seule) sont limités à 100 utilisateurs jusqu'à ce que vous ayez réussi l'évaluation CASA de niveau 2. Celle-ci comprend un laboratoire agréé par la CASA, un test d'intrusion et un audit de sécurité formel ; elle dure généralement entre 6 et 12 semaines et coûte entre 10 000 et 25 000 dollars.

Vérification Microsoft Publisher

Microsoft exige la vérification de l'éditeur pour les applications demandant des étendues d'e-mail sensibles. Sans cela, les utilisateurs voient un avertissement rouge "éditeur non vérifié" sur l'écran de consentement. Le processus de vérification nécessite un compte Microsoft Partner Network actif avec un domaine vérifié.

3 stratégies différentes de rafraîchissement de jeton

Les jetons de rafraîchissement de Google expirent après 6 mois d'inactivité (ou immédiatement si l'utilisateur les révoque). Les jetons de Microsoft expirent après 90 jours d'inactivité. Les jetons XOAUTH2 Yahoo/IMAP ont des durées de vie spécifiques au fournisseur. Votre couche de gestion des jetons doit gérer les 3 différemment.

Divergences sur l'UX des écrans de consentement

Google, Microsoft et Yahoo affichent les écrans de consentement différemment - branding différent, descriptions de portée différentes, interfaces utilisateur différentes. Vos utilisateurs voient 3 flux différents en fonction de leur fournisseur de messagerie, créant une expérience utilisateur incohérente et des taux de désabonnement plus élevés.

Frais de maintenance continus

Les points de terminaison OAuth changent. Les noms de portée sont dépréciés. De nouvelles exigences de sécurité sont ajoutées. Chaque fournisseur annonce des changements majeurs à des moments différents. Quelqu'un de votre équipe doit suivre 3 blogs de fournisseurs, 3 journaux de modifications et 3 calendriers de conformité – indéfiniment.

Éviter toute complexité OAuth

Authentification hébergée, gestion des scopes, gestion du rafraîchissement. Unipile s'occupe de tout pour que vous puissiez vous concentrer sur votre produit.

Construire avec Unipile
de l'architecture

Architecture de l'API de messagerie OAuth : 3 approches comparées

Il existe 3 architectures pour construire une couche d'API d'e-mails OAuth. Chacune a un coût de mise en œuvre, une charge de maintenance et un profil de sécurité fondamentalement différents. Le bon choix dépend si la connectivité par e-mail est votre produit principal ou une fonctionnalité que vous proposez en parallèle de votre produit principal.

Dimension Fournisseur OAuth direct (x3) Passerelle OAuth auto-hébergée OAuth hébergé unifié (Unipile) Recommandé
Temps avant le premier courrier électronique lié 3-7 jours (par fournisseur) 2-4 semaines 5 minutes
Flux OAuth à implémenter 3 flux distincts 3 flux + logique de routage 1 point de terminaison hôte
Commentaire sur Google CASA C'est à toi de t'en occuper (6 à 12 semaines, $10k+) Vous vous en occupez Géré par Unipile
Vérification Microsoft Publisher Vous vous en occupez Vous vous en occupez Géré par Unipile
Gestion du rafraîchissement des jetons 3 stratégies pour construire Personnalisé par fournisseur Automatique, transparent
API de lecture/envoi d'e-mails 3 API différentes Couche d'abstraction nécessaire 1 API REST unifiée
Webhook sur les nouveaux e-mails Push/pull par fournisseur Personnalisé Événements de webhook unifiés
Conformité SOC2 / RGPD Votre responsabilité Votre responsabilité Unipile est certifié SOC2
Maintenance en cours Élevé (3 journaux des modifications des fournisseurs) Elevé Zéro - géré par Unipile
Meilleur pour Produits natifs d'email à fournisseur unique Grandes équipes avec une infrastructure dédiée Toute équipe livrant rapidement
Mise en œuvre

Build ou Achat : API de messagerie OAuth hébergée en 5 minutes

Au lieu de créer 3 flux OAuth distincts, Unipile fournit un lien d'authentification hébergé qui gère pour vous l'authentification OAuth de Google, Microsoft Identity et IMAP. Votre application génère un lien, redirige l'utilisateur et reçoit une notification webhook lorsque la boîte aux lettres est connectée. L'API e-mail OAuth est alors immédiatement utilisable – aucune configuration de console, aucun examen CASA, aucune logique de rafraîchissement de jeton à implémenter.

Étape 1 : Générer un lien d'authentification hébergé

Un appel d'API pour créer une session d'authentification hébergée. Spécifiez le type de fournisseur et un nom pour le compte. Unipile renvoie une URL pour rediriger votre utilisateur vers l'écran de consentement OAuth.

connect-gmail.js
// Connecter l'utilisateur Gmail via l'API email OAuth hébergée par Unipile const response = await fetch( 'https://api6.unipile.com:13226/api/v1/hosted/accounts/link', { method: POST, headers: { 'X-API-KEY': 'VOTRE_CLE_API_UNIPILE', 'Content-Type': 'application/json' }, body: JSON.stringify({ type : 'Google', nom : 'utilisateur_alice_123', URL_de_redirection_en_cas_de_succès: 'https://yourapp.com/connecté', url_redirection_echec: 'https://yourapp.com/erreur' }) } ); const { url, objet } = await réponse.json(); Rediriger l'utilisateur vers l'URL - Unipile gère le consentement OAuth window.location.href = url;
Redirige l'utilisateur vers l'écran de consentement de Gmail – aucun client_id ni client_secret n'est requis

Étape 2 : Connecter un utilisateur Outlook

Même point d'arrivée, même schéma. Changement type à MICROSOFT. Pas de portail Azure, pas de vérification de l'éditeur à gérer de votre côté.

connect-outlook.py
import demandes # : connexion d'un utilisateur Outlook via l'API de messagerie OAuth d'Unipile response = requêtes.poste( "https://api6.unipile.com:13226/api/v1/hosted/accounts/link", en-têtes={"X-API-KEY": "VOTRE_CLE_API_UNIPILE"}, json={ "type": "MICROSOFT", "nom": "utilisateur_bob_456", "url_de_redirection_en_cas_de_succès": "https://votreapplication.com/connecte" } ) url_authentification = response.json()["url"] # Redirection vers auth_url - Flux d'authentification Microsoft géré par Unipile
Fonctionne avec Outlook.com et Microsoft 365 – même nom

Étape 3 : Recevoir le webhook sur account.connected

Une fois le consentement OAuth obtenu, Unipile déclenche un webhook vers votre point de terminaison. La charge utile de l'événement comprend le nouveau account_id - que vous enregistrez et utilisez pour toutes les opérations suivantes lire l'API des e-mails et API d'envoi d'e-mails appels.

Événement Webhook : Lorsqu'un utilisateur termine la procédure OAuth, Unipile envoie un compte.connecté événement à l'URL de votre webhook. La charge utile contient les account_id (enregistrer ceci), le provider (GOOGLE / MICROSOFT / IMAP) et l'adresse e-mail associée. C'est la seule information que vous devez conserver : Unipile gère tous les jetons OAuth en interne.

API OAuth hébergée pour e-mail

Évitez 8 semaines d'implémentation OAuth. Connectez les boîtes aux lettres en quelques minutes.

L'API de messagerie OAuth hébergée d'Unipile gère Google CASA, la vérification de l'éditeur Microsoft, XOAUTH2 et le rafraîchissement des jetons pour tous les fournisseurs. Vos utilisateurs lient leur boîte aux lettres via un flux hébergé unique - vous obtenez une API unifiée pour lire, envoyer et synchroniser.

Gestion des jetons

Gestion des jetons OAuth : actualisation, révocation, rotation

La gestion des jetons est l'aspect le plus exigeant sur le plan opérationnel lors de la mise en place d'une API de messagerie OAuth. Les jetons d'accès expirent, les jetons de rafraîchissement sont révoqués par les utilisateurs, et votre système doit gérer tout cela de manière fluide, sous peine de voir vos utilisateurs perdre l'accès à leur boîte mail sans qu'ils s'en rendent compte.

Bonnes pratiques en matière de stockage des jetons

  • Chiffrez les jetons d'actualisation au repos à l'aide de l'algorithme AES-256 ou d'un service KMS dans le cloud (AWS KMS, GCP Cloud KMS, Azure Key Vault). Ne les stockez jamais en clair dans votre base de données.
  • N'enregistrez jamais les jetons d'accès ni les jetons d'actualisation. Dans les systèmes de journalisation structurés tels que Datadog ou Splunk, les champs contenant ces jetons doivent être masqués ou expurgés.
  • Conservez les jetons dans un référentiel de secrets dédié (Vault, AWS Secrets Manager) plutôt que dans la base de données principale de votre application, afin de limiter l'ampleur des dégâts en cas de compromission de la base de données.
  • Mettez en place la rotation des jetons : lorsque vous obtenez un nouveau jeton d'actualisation lors d'un appel d'actualisation (certains fournisseurs émettent un nouveau jeton à chaque utilisation), invalidez immédiatement l'ancien.

Gérer les échecs de rafraîchissement de manière élégante

Lorsqu'un jeton d'actualisation expire ou est révoqué, votre appel d'actualisation renvoie une erreur 400 ou 401. Votre API OAuth pour les e-mails doit détecter cette situation et déclencher un processus de réauthentification pour l'utilisateur, sans se contenter d'un échec silencieux. Le pire scénario serait qu'un utilisateur pense que ses e-mails sont lus, alors que son jeton est révoqué depuis des semaines. Mettez en place un contrôle explicite de l'état du compte et alertez les utilisateurs lorsqu'une réauthentification est nécessaire.

Domaines d'application OAuth : ce qu'il faut demander (et ce qu'il ne faut pas demander)

La réduction du champ d'application est à la fois une bonne pratique en matière de sécurité et une stratégie d'optimisation du consentement. Demander plus de droits que nécessaire incite les utilisateurs à hésiter (ou à refuser) lors de l'écran de consentement, et entraîne un examen plus minutieux lors des contrôles effectués par Google CASA et Microsoft Publisher.

Portée Fournisseur Cas d'utilisation Sensibilité Avis sur CASA ?
gmail.lecture seule Gmail Lire tous les e-mails et toutes les métadonnées Elevé Oui - Niveau 2
gmail.envoyer Gmail Envoyer un courriel en tant que l'utilisateur Elevé Oui - Niveau 2
gmail.modifier Gmail Lire, envoyer, supprimer, classer Elevé Oui - Niveau 2
libellés gmail Gmail Lire et gérer les étiquettes uniquement Faible Non
Mail.Read Outlook Lire tous les e-mails Moyen Vérification de l'éditeur
Mail.Send Outlook Envoyer un courrier en tant qu'utilisateur Moyen Vérification de l'éditeur
Mail.ReadWrite Outlook Lire, envoyer, supprimer, gestion des dossiers Elevé Vérification de l'éditeur
accès_hors_ligne Outlook Obtenir des jetons de rafraîchissement Faible Non
courriel-r IMAP (Yahoo) Lire les e-mails via IMAP/XOAUTH2 Moyen Examen du développeur Yahoo

Jetons actualisés et réorganisés pour vous

Arrêtez d'écrire du code de cycle de vie de jetons. Connectez une boîte aux lettres une fois, Unipile maintient l'accès actif sur tous les fournisseurs.

Commencer à construire
Conformité

Conformité : SOC2, RGPD, CASA

Une API d'e-mails OAuth qui gère les boîtes aux lettres des utilisateurs se situe à l'intersection de la conformité en matière de sécurité et de confidentialité. Voici les quatre cadres les plus susceptibles d'intéresser les acheteurs d'entreprise - et ce que le modèle de jeton d'OAuth signifie pour chacun d'eux.

SOC2 Type II

Les auditeurs SOC2 examinent la gestion des jetons dans le cadre des critères de disponibilité et de confidentialité. Les jetons OAuth doivent être chiffrés au repos (AES-256 ou KMS), enregistrés en accès, et soumis à une politique de rotation formelle. Le stockage de jetons d'actualisation en clair constitue une constatation automatique. L'utilisation d'une API OAuth hébergée pour les e-mails comme Unipile (certifiée SOC2) déplace cette responsabilité.

RGPD

Conformément au RGPD, votre application est un sous-traitant de données lorsqu'elle accède au contenu des e-mails des utilisateurs. Vous avez besoin d'un Accord de Traitement des Données (ATD) avec votre fournisseur d'infrastructure API de messagerie OAuth. La révocabilité de l'OAuth satisfait directement l'article 17 (droit à l'effacement) - lorsqu'un utilisateur révoque, votre accès prend fin immédiatement. Documentez votre base juridique pour l'accès aux données de messagerie (généralement le consentement via le flux OAuth).

Google CASA Niveau 2

Dès que votre application API de messagerie Gmail OAuth dépasse les 100 utilisateurs disposant de périmètres d'accès sensibles, Google bloque toute nouvelle inscription d'utilisateur jusqu'à ce que vous ayez satisfait aux exigences du niveau 2 du programme CASA. Cela nécessite un test d'intrusion réalisé par un laboratoire agréé CASA, un questionnaire de sécurité et un rapport d'évaluation officiel soumis à Google. Durée : 8 à 16 semaines. Coût : 10 000 à 25 000 TWD. Les applications vérifiées obtiennent le badge " Vérifié par Google " sur leur écran de consentement.

API d'e-mail OAuth : tarification et modèles de coûts

Les API de fournisseurs " gratuits " de Google et Microsoft masquent des coûts réels importants. Voici un modèle de coût réaliste pour la mise en œuvre d'une API d'e-mail OAuth à grande échelle – couvrant la voie directe du fournisseur par rapport aux API unifiées.

Fournisseur direct OAuth : coûts cachés

Les API de Google et Microsoft sont techniquement gratuites au niveau des appels d'API. Cependant : le niveau 2 de Google CASA coûte entre 10 000 et 25 000 TP4T, auxquels s'ajoutent au moins trois mois de travail d'ingénierie. La vérification des éditeurs pour Microsoft nécessite un compte Partner Network et une vérification légale du domaine. Temps d'ingénierie requis pour mettre en place trois flux, la gestion des jetons et la gestion des erreurs : 6 à 10 semaines. Maintenance annuelle : 2 à 4 semaines par an et par fournisseur.

API OAuth unifiée hébergée : coût total

L'API de messagerie OAuth d'Unipile comprend la conformité à tous les fournisseurs (CASA, vérification de l'éditeur), la gestion des jetons et une API de messagerie unifiée sous un même abonnement. Pour les équipes qui intègrent la connectivité par e-mail comme une fonctionnalité (pas comme un produit), le calcul du retour sur investissement est simple : des semaines de temps d'ingénierie économisées par rapport à un coût mensuel de l'API. Voir le Comparer les fournisseurs d'API d'e-mail guide pour une ventilation complète des coûts.

Pièges courants lors de l'implémentation de l'e-mail OAuth

Voici les erreurs les plus courantes que les développeurs commettent lorsqu'ils créent pour la première fois une API de messagerie OAuth - et ce qu'il faut faire à la place.

01
Expiration du jeton d'actualisation Google après 6 mois d'inactivité

Google invalide les jetons de rafraîchissement si l'utilisateur n'a pas utilisé votre application pendant 6 mois. Votre appel de rafraîchissement de jeton renvoie grant_invalide. Correction : implémenter une " vérification de l'état du jeton " périodique qui effectue un appel léger à l'API Gmail pour chaque compte lié au moins une fois tous les 30 jours afin d'éviter l'expiration due à l'inactivité.

02
Dérive des exigences - les demandes excessives déclenchent le rejet du consentement

Demande gmail.modifier quand on a seulement besoin de gmail.lecture seule gonfle votre écran de consentement et amène les utilisateurs à abandonner le flux OAuth. Il augmente également votre exigence de niveau CASA. Demandez toujours la portée minimale nécessaire. Vous pouvez demander des étendues supplémentaires progressivement plus tard.

03
Vérification CASA manquante - un plafond de 100 utilisateurs bloque la croissance

La limite de portée sensible de Gmail à 100 utilisateurs est le principal obstacle à la croissance pour les implémentations d'API d'e-mails OAuth. Anticipez la revue CASA avant d'atteindre 50 utilisateurs : la revue prend 8 à 16 semaines, et votre croissance d'utilisateurs sera bloquée en attendant.

04
Fuite de jeton via les journaux d'application

Une journalisation détaillée des requêtes qui capture les en-têtes d'autorisation enregistrera vos jetons d'accès en texte brut. Implémentez un middleware de nettoyage de journaux qui censure Porteur [TOKEN] schémas avant que les journaux ne soient écrits dans un support de stockage persistant.

05
Aucune stratégie de repli IMAP

Certains serveurs de messagerie d'entreprise fonctionnent derrière des configurations IMAP personnalisées qui ne prennent pas en charge OAuth. Votre API de messagerie OAuth doit disposer d'une voie de repli élégante pour les fournisseurs IMAP uniquement. Intégrez cela dès le premier jour dans votre flux de connexion de compte, sinon vous exclurez un segment important d'utilisateurs B2B. Voir notre Intégration IMAP guide pour le modèle de repli complet.

Construire au lieu d'assembler des fournisseurs

Intégrez votre e-mail avec OAuth dès aujourd'hui. Offre gratuite, sans carte de crédit, portée complète pour Gmail et Microsoft disponible.

Démarrez gratuitement
FAQ

Questions fréquemment posées

Les questions les plus courantes des développeurs lors de la création d'une intégration d'API de messagerie OAuth - répondues précisément.

01
Qu'est-ce qu'une API de messagerie OAuth ?
Une API de messagerie OAuth est une combinaison d'un flux d'autorisation OAuth 2.0 – qui permet à un utilisateur d'accorder à votre application un accès délégué à sa boîte aux lettres sans partager son mot de passe – et d'une API de messagerie qui lit, envoie ou synchronise cette boîte aux lettres. La couche OAuth produit un jeton d'accès révocable et limité en portée. L'API de messagerie utilise ce jeton pour interagir avec les fournisseurs Gmail, Outlook ou IMAP au nom de l'utilisateur.
02
Pourquoi utiliser OAuth au lieu d'un mot de passe IMAP ?
L'accès au mot de passe IMAP nécessite de stocker le mot de passe en texte clair ou chiffré de l'utilisateur, ce qui constitue un risque critique en matière de sécurité et de conformité. Les jetons OAuth sont de courte durée (1 heure), limités en portée et révocables par l'utilisateur à tout moment. Google a désactivé l'authentification de base pour Gmail en 2022, et Microsoft a achevé sa désactivation de l'authentification de base pour Exchange Online en 2026. OAuth est désormais la seule méthode conforme pour accéder aux boîtes aux lettres des utilisateurs via l'API.
03
Quel flux OAuth devrais-je utiliser pour Gmail et Outlook ? Qu'en est-il de l'IMAP ?
Pour Gmail : Flux de code d'autorisation Google OAuth 2.0, point de terminaison du jeton https://oauth2.googleapis.com/token, portées dans le gmail.* Espace de noms. Pour Outlook (couvrant Outlook.com, Microsoft 365 et Exchange Online) : Plateforme d'identité Microsoft, point de terminaison de jeton https://login.microsoftonline.com/common/oauth2/v2.0/token, scopes sous https://graph.microsoft.com/. Pour IMAP : IMAP n'est pas un fournisseur OAuth. Il utilise des identifiants nom d'utilisateur/mot de passe ou mot de passe d'application. XOAUTH2 existait en tant qu'extension SASL pour un petit nombre de fournisseurs mais a été largement déprécié.
04
Comment actualiser les jetons d'accès expirés ?
Lorsqu'un jeton d'accès expire (généralement après 1 heure), utilisez le jeton de rafraîchissement pour en demander un nouveau en appelant le point de terminaison du jeton avec type_de_consentement=rafraîchir_jeton. Pour Google : POST vers https://oauth2.googleapis.com/token. Pour Microsoft : POST à https://login.microsoftonline.com/common/oauth2/v2.0/token. Si vous recevez grant_invalide, le jeton d'actualisation a expiré ou a été révoqué - demandez à l'utilisateur de se réauthentifier.
05
Quels sont les étendues dont j'ai besoin pour lire ou envoyer des e-mails ?
Pour Gmail : gmail.lecture seule lire, gmail.envoyer envoyer, gmail.modifier pour lecture/écriture/suppression complète. Pour Outlook : Mail.Read lire, Mail.Send envoyer, Mail.ReadWrite pour un accès complet - plus accès_hors_ligne pour obtenir des jetons d'actualisation. Demandez toujours le champ d'application minimal requis par votre cas d'utilisation. Voir le Page de l'API de messagerie pour des recommandations de portée spécifiques à un cas d'utilisation.
06
OAuth est-il requis pour Microsoft 365 en 2026 ?
Oui. Microsoft a finalisé la mise hors service de l'authentification de base pour Exchange Online en 2026. Cela impacte tous les protocoles existants, y compris IMAP, POP3 et SMTP AUTH lorsqu'ils sont utilisés avec un nom d'utilisateur/mot de passe. Toute application se connectant aux boîtes aux lettres Microsoft 365 via l'authentification de base recevra des erreurs 401 Unauthorized. OAuth via la plateforme d'identités Microsoft est la seule méthode prise en charge à l'avenir.
07
Comment éviter l'examen de sécurité CASA de Google ?
CASA Tier 2 est requis pour les scopes Gmail sensibles au-delà de 100 utilisateurs - vous ne pouvez pas le contourner à grande échelle. Options : n'utiliser que des scopes non sensibles comme libellés gmail (pas soumis à la CASA), lancez le processus CASA avant d'atteindre 50 utilisateurs (cela prend 8 à 16 semaines), ou utilisez une API d'e-mail OAuth hébergée comme Unipile dont l'infrastructure a déjà passé l'examen CASA - supprimant ainsi complètement cette exigence pour votre application.
08
Puis-je me connecter à Yahoo ou AOL via OAuth ?
Yahoo Mail a historiquement pris en charge XOAUTH2 pour l'authentification IMAP, mais cela a été largement déprécié depuis 2022. En pratique, les connexions IMAP à Yahoo et AOL utilisent désormais des mots de passe d'application générés via les paramètres de sécurité du compte, et non des jetons OAuth. Unipile gère Yahoo et AOL via IMAP avec des identifiants de mot de passe d'application.
09
Comment Unipile gère-t-il l'OAuth multi-fournisseurs ?
Unipile fournit un API e-mail OAuth hébergé via un point de terminaison unique : /api/v1/hosted/accounts/link. Vous passez un type (GOOGLE, MICROSOFT, or IMAP) et Unipile génère une URL d'authentification hébergée. L'utilisateur complète le consentement OAuth sur l'infrastructure d'Unipile, qui a passé la vérification CASA de Google et la vérification de l'éditeur de Microsoft. Après consentement, Unipile envoie un webhook avec le account_id. Toute la gestion et le rafraîchissement des jetons sont gérés en interne.
10
Que se passe-t-il lorsqu'un utilisateur révoque l'accès OAuth ?
Lorsque qu'un utilisateur révoque l'accès via les paramètres de son compte Google, Microsoft ou Yahoo, le jeton d'actualisation est immédiatement invalidé. Votre prochain appel à l'actualisation du jeton renvoie grant_invalide. Votre API OAuth d'e-mails doit intercepter cela, marquer le compte lié comme déconnecté et avertir l'utilisateur avec un lien de réauthentification. Avec Unipile, un webhook de révocation se déclenche automatiquement pour que votre système soit notifié en temps réel – aucun interrogatoire nécessaire.
Vous avez encore des questions ? Notre équipe peut vous guider dans l'implémentation d'OAuth pour votre cas d'utilisation spécifique.
fr_FRFR