Flux OAuth 2.0
- Retour dans votre interface après connexion : utilisez le paramètre
callback_urlsur la page de connexion pour rediriger l'utilisateur directement vers votre application une fois le compte connecté. - Détection des réponses : le Watcher de réponses surveille automatiquement les réponses aux emails envoyés et déclenche votre webhook.
OAuth 2.0 est le standard d'autorisation déléguée utilisé par Google et Microsoft. Il permet à votre application d'envoyer des emails au nom d'un utilisateur sans jamais connaître son mot de passe.
Pourquoi OAuth ?
Le mot de passe d'un compte Gmail ou Office 365 appartient à l'utilisateur. Il n'a pas à vous le confier — et vous n'avez pas à le stocker.
OAuth résout ce problème élégamment : l'utilisateur autorise votre application en passant par les serveurs de Google ou Microsoft. Ces derniers émettent un jeton d'accès limité (envoi d'emails uniquement) que SendAs.me utilise à la place du mot de passe. L'utilisateur garde le contrôle total et peut révoquer cet accès à tout moment.
Ce que l'utilisateur voit : Une page Google ou Microsoft qui dit : "Mon Application souhaite envoyer des emails en votre nom. Autoriser ?"
Ce que vous obtenez : La capacité d'envoyer des emails depuis son adresse, de façon continue et sécurisée.
Le flux d'autorisation en pratique
Du point de vue de l'utilisateur, c'est identique au bouton "Se connecter avec Google" qu'il connaît déjà.
Étape 1 — L'utilisateur clique sur le lien dans votre interface Vous intégrez un lien dans votre application (ex : "Connecter mon adresse email"). Ce lien pointe vers SendAs.me.
Étape 2 — Redirection vers Google ou Microsoft SendAs.me redirige l'utilisateur vers la page d'autorisation officielle du fournisseur. Votre application et SendAs.me ne sont plus dans la boucle.
Étape 3 — Consentement L'utilisateur voit une page listant les permissions demandées. SendAs.me ne demande que la permission minimale : l'envoi d'emails. Aucun accès en lecture à la boîte de réception.
Étape 4 — Autorisation accordée L'utilisateur accepte. Google ou Microsoft retourne les jetons à SendAs.me.
Étape 5 — Retour dans votre application
L'utilisateur est redirigé vers l'URL que vous avez spécifiée. Vous recevez un webhook oauth_connected. Le compte est maintenant actif.
Cycle de vie des jetons
Une fois le compte connecté, vous n'avez rien à faire. SendAs.me gère entièrement le cycle de vie des jetons.
Rafraîchissement automatique : Les jetons d'accès expirent généralement après 1 heure. Avant chaque envoi, SendAs.me vérifie si le jeton est encore valide et le rafraîchit si nécessaire. Votre application ne voit jamais ce processus.
Durée de vie : La connexion reste active tant que l'utilisateur n'a pas révoqué l'accès. Il n'est pas nécessaire de re-connecter le compte régulièrement.
En cas d'envoi simultané : Si votre application envoie plusieurs emails en même temps pour le même utilisateur et que le jeton doit être rafraîchi, SendAs.me gère la synchronisation pour éviter tout conflit. Un seul rafraîchissement est effectué, les autres requêtes attendent le résultat.
Quand l'utilisateur révoque l'accès
L'utilisateur peut révoquer l'autorisation à tout moment depuis son compte :
- Google : myaccount.google.com/permissions
- Microsoft : mysignins.microsoft.com
Ce qui se passe côté SendAs.me :
- La prochaine tentative d'envoi pour ce compte échoue
- SendAs.me vous envoie immédiatement un webhook
oauth_expired - Le compte apparaît avec le statut
revokeddans le portail - Les tentatives d'envoi suivantes échouent proprement avec un code d'erreur explicite
Ce que vous devez faire :
Traiter le webhook oauth_expired pour afficher un message à l'utilisateur dans votre interface, l'invitant à reconnecter son compte.
Exemple de webhook oauth_expired
{
"event": "oauth_expired",
"app_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"timestamp": "2025-06-15T10:00:00Z",
"data": {
"credential_id": "cred_xyz789abc",
"email": "alice@gmail.com",
"provider": "gmail",
"reason": "refresh_token_revoked"
}
}
Statuts d'un compte connecté
| Statut | Signification |
|---|---|
active | Jeton valide, les emails peuvent être envoyés |
expired | Jeton expiré, en cours de rafraîchissement automatique |
revoked | L'utilisateur a révoqué l'accès — reconnexion nécessaire |
error | Erreur lors du dernier rafraîchissement — vérification manuelle conseillée |
Sécurité des jetons
Les jetons OAuth stockés par SendAs.me sont chiffrés au repos. Ils ne sont jamais transmis à votre application ni visibles dans le portail.
En tant qu'éditeur, vous ne voyez que :
- Le statut du compte (actif, révoqué, etc.)
- L'adresse email associée
- La date de connexion et de dernière utilisation
Les jetons bruts restent dans l'infrastructure SendAs.me, protégés par un chiffrement symétrique. Même en cas d'accès non autorisé à la base de données, les jetons ne peuvent pas être utilisés sans la clé de chiffrement.
Ce que vous pouvez dire à vos utilisateurs : "Nous n'avons pas accès à votre mot de passe. L'autorisation que vous avez accordée est gérée par SendAs.me et se limite à l'envoi d'emails. Vous pouvez la révoquer à tout moment depuis votre compte Google ou Microsoft."