#pIdentity
OAuth 2.1 pour les applications de messagerie : Thunderbird, Outlook, appareils et ligne de commande
nextxch est son propre serveur d'autorisation OAuth 2.1 : les applications de messagerie se connectent dans le navigateur via la connexion normale au webmail (y compris 2FA et clés d'accès), l'utilisateur confirme l'accès sur une page de consentement, l'application reçoit des jetons d'accès de courte durée et un jeton d'actualisation rotatif. IMAP, SMTP, POP3 et ManageSieve acceptent les jetons via SASL XOAUTH2 et OAUTHBEARER (RFC 7628), ActiveSync, EWS et MAPI en tant que bearer. Les appareils sans navigateur utilisent le flux device code (RFC 8628). Les jetons d'accès d'Entra ID ou de Keycloak peuvent également être acceptés. Chaque autorisation est visible par l'utilisateur et l'administrateur et peut être révoquée immédiatement.
Avec "OAuth / Kerberos uniquement par protocole" (Admin > Sources d'identité), les mots de passe et mots de passe d'application peuvent être désactivés pour certains protocoles et domaines, par ex. IMAP et SMTP uniquement avec OAuth. Un administrateur serveur local sans source reste exempté en tant qu'accès d'urgence (break-glass).
Ligne de commande : flux device code et IMAP avec XOAUTH2
Client public préenregistré nextxch-cli. L'utilisateur ouvre l'adresse affichée, se connecte et confirme le code.
# 1. Request a device code
curl -s https://mail.example.com/oauth/device_authorization \
-d client_id=nextxch-cli -d "scope=mail offline_access"
# -> {"device_code":"...","user_code":"BCDF-GHJK","verification_uri":"https://mail.example.com/oauth/device",...}
# 2. Open https://mail.example.com/oauth/device in a browser, sign in, confirm code BCDF-GHJK
# 3. Poll every 5 seconds until the token arrives (authorization_pending / slow_down)
curl -s https://mail.example.com/oauth/token -d client_id=nextxch-cli \
-d grant_type=urn:ietf:params:oauth:grant-type:device_code -d device_code=...
# 4. IMAP with the access token
curl -v --login-options AUTH=XOAUTH2 --oauth2-bearer "$ACCESS_TOKEN" \
-u anna@example.com imaps://mail.example.com/INBOX
# 5. Refresh (the old refresh token becomes invalid) and revoke
curl -s https://mail.example.com/oauth/token -d client_id=nextxch-cli \
-d grant_type=refresh_token -d refresh_token=nxrt_...
curl -s https://mail.example.com/oauth/revoke -d client_id=nextxch-cli -d token=nxrt_...
Paramètres, valeurs par défaut & bonnes pratiques
| Paramètre / emplacement | Description | Valeur par défaut | Bonne pratique en production |
|---|---|---|---|
Einschalten |
Admin > Sources d'identité > OAuth 2.1 : "Connexion OAuth activée". L'émetteur est l'adresse publique du serveur. Découverte sous /.well-known/oauth-authorization-server et /.well-known/openid-configuration, clé de signature (ES256) sous /oauth/jwks. | Aus |
Jeton d'accès 60 minutes, jeton d'actualisation 90 jours sans utilisation, 365 jours au maximum. Un jeton d'actualisation utilisé deux fois révoque l'ensemble de l'autorisation (protection contre le vol). |
Thunderbird |
Client public préenregistré "thunderbird" avec PKCE et redirection loopback. Autoconfig (/.well-known/autoconfig) propose OAuth2 comme seconde méthode après le mot de passe. | client_id thunderbird |
Thunderbird n'utilise OAuth2 que pour les fournisseurs de sa liste intégrée ; pour votre propre serveur, cela dépend de la version. En attendant, utilisez Kerberos/GSSAPI ou un mot de passe d'application. |
Outlook und Entra ID |
Avec une source Entra et l'option "accepter les jetons d'accès pour les protocoles", nextxch accepte les jetons d'accès Entra (signature via JWKS, aud, iss y compris l'émetteur v1 sts.windows.net, expiration, annuaire). ActiveSync, EWS et MAPI annoncent "WWW-Authenticate: Bearer". | aud = api://mail.firma.de |
Entra : inscription d'application dédiée "nextxch Mail API" avec l'URI d'ID d'application api://mail.example.com et une étendue (par ex. Mail.Access). L'utilisation de l'authentification moderne par Outlook pour Windows avec votre propre serveur dépend de la version et d'Autodiscover ; sur le réseau de l'entreprise, Kerberos est la voie fiable. |
Eigene Anwendungen |
Clients gérés par l'administrateur : publics (PKCE) ou confidentiels avec un secret (affiché une seule fois), URI de redirection exactes ou loopback avec n'importe quel port, flux code, refresh et device code, en option sans page de consentement. | PKCE S256 Pflicht |
Portées : mail (tous les protocoles), protocoles individuels (imap, smtp, pop3, sieve, eas, ews, mapi, dav, jmap), offline_access, openid, email, profile. |
Übersicht und Widerruf |
Les utilisateurs voient leurs applications connectées dans le Webmail sous Paramètres > Sécurité, les administrateurs voient toutes les autorisations sous Admin > Sources d'identité et dans la boîte de dialogue du compte. La révocation met aussi fin immédiatement aux jetons d'accès déjà émis. | - |
Lorsqu'un administrateur réinitialise un mot de passe AD, toutes les autorisations OAuth du compte sont automatiquement révoquées. |