#pIdentity
OAuth 2.1 für Mail-Programme: Thunderbird, Outlook, Geräte und Kommandozeile
nextxch ist ein eigener OAuth-2.1-Autorisierungsserver: Mail-Programme melden sich im Browser über das normale Webmail-Login an (inklusive 2FA und Passkeys), der Benutzer bestätigt den Zugriff auf einer Zustimmungsseite, das Programm erhält kurzlebige Zugriffstoken und ein rotierendes Refresh-Token. IMAP, SMTP, POP3 und ManageSieve nehmen die Token per SASL XOAUTH2 und OAUTHBEARER (RFC 7628) an, ActiveSync, EWS und MAPI als Bearer. Geräte ohne Browser nutzen den Gerätecode-Flow (RFC 8628). Zusätzlich können Zugriffstoken von Entra ID oder Keycloak angenommen werden. Jede Anmeldung ist für Benutzer und Admin sichtbar und sofort widerrufbar.
Mit "Nur OAuth / Kerberos pro Protokoll" (Admin > Identitätsquellen) lassen sich Passwörter und App-Passwörter für einzelne Protokolle und Domains abschalten, z. B. IMAP und SMTP nur noch mit OAuth. Ein lokaler Server-Admin ohne Quelle bleibt als Notfall-Zugang ausgenommen.
Kommandozeile: Gerätecode-Flow und IMAP mit XOAUTH2
Vorregistrierter öffentlicher Client nextxch-cli. Der Benutzer öffnet die angezeigte Adresse, meldet sich an und bestätigt den Code.
# 1. Gerätecode anfordern
curl -s https://mail.firma.de/oauth/device_authorization \
-d client_id=nextxch-cli -d "scope=mail offline_access"
# -> {"device_code":"...","user_code":"BCDF-GHJK","verification_uri":"https://mail.firma.de/oauth/device",...}
# 2. Im Browser https://mail.firma.de/oauth/device öffnen, anmelden, Code BCDF-GHJK bestätigen
# 3. Alle 5 Sekunden abfragen, bis das Token kommt (authorization_pending / slow_down)
curl -s https://mail.firma.de/oauth/token -d client_id=nextxch-cli \
-d grant_type=urn:ietf:params:oauth:grant-type:device_code -d device_code=...
# 4. IMAP mit dem Zugriffstoken
curl -v --login-options AUTH=XOAUTH2 --oauth2-bearer "$ACCESS_TOKEN" \
-u anna@firma.de imaps://mail.firma.de/INBOX
# 5. Erneuern (das alte Refresh-Token wird ungültig) und widerrufen
curl -s https://mail.firma.de/oauth/token -d client_id=nextxch-cli \
-d grant_type=refresh_token -d refresh_token=nxrt_...
curl -s https://mail.firma.de/oauth/revoke -d client_id=nextxch-cli -d token=nxrt_...
Einstellungen, Standardwerte & Best Practices
| Einstellung / Ort | Funktion | Standardwert | Best Practice im Betrieb |
|---|---|---|---|
Einschalten |
Admin > Identitätsquellen > OAuth 2.1: "OAuth-Anmeldung aktiv". Der Issuer ist die öffentliche Adresse des Servers. Discovery unter /.well-known/oauth-authorization-server und /.well-known/openid-configuration, Signaturschlüssel (ES256) unter /oauth/jwks. | Aus |
Zugriffstoken 60 Minuten, Refresh-Token 90 Tage ungenutzt, Höchstdauer 365 Tage. Ein zweimal benutztes Refresh-Token widerruft die ganze Anmeldung (Diebstahlschutz). |
Thunderbird |
Vorregistrierter öffentlicher Client "thunderbird" mit PKCE und Loopback-Redirect. Die Autoconfig (/.well-known/autoconfig) bietet OAuth2 als zweite Methode nach dem Passwort an. | client_id thunderbird |
Thunderbird nutzt OAuth2 nur für Anbieter, die in seiner eingebauten Liste stehen; für den eigenen Server hängt das von der Version ab. Bis dahin Kerberos/GSSAPI oder App-Passwort verwenden. |
Outlook und Entra ID |
Mit einer Entra-Quelle und "Zugriffstoken für Protokolle akzeptieren" nimmt nextxch Entra-Zugriffstoken an (Signatur per JWKS, aud, iss inklusive v1-Aussteller sts.windows.net, Ablauf, Verzeichnis). ActiveSync, EWS und MAPI melden "WWW-Authenticate: Bearer". | aud = api://mail.firma.de |
Entra: eigene App-Registrierung "nextxch Mail API" mit Anwendungs-ID-URI api://mail.firma.de und einem Scope (z. B. Mail.Access). Ob Outlook für Windows Modern Auth gegen einen eigenen Server nutzt, hängt von Version und Autodiscover ab; im Firmennetz ist Kerberos der verlässliche Weg. |
Eigene Anwendungen |
Admin-verwaltete Clients: öffentlich (PKCE) oder vertraulich mit Geheimnis (nur einmal angezeigt), Redirect-URIs exakt oder Loopback mit beliebigem Port, Flows Code, Refresh und Gerätecode, optional ohne Zustimmungsseite. | PKCE S256 Pflicht |
Scopes: mail (alle Protokolle), einzelne Protokolle (imap, smtp, pop3, sieve, eas, ews, mapi, dav, jmap), offline_access, openid, email, profile. |
Übersicht und Widerruf |
Benutzer sehen ihre verbundenen Programme im Webmail unter Einstellungen > Sicherheit, Admins alle Anmeldungen unter Admin > Identitätsquellen und im Kontodialog. Widerrufen beendet auch bereits ausgegebene Zugriffstoken sofort. | - |
Beim Zurücksetzen eines AD-Kennworts durch den Admin werden alle OAuth-Anmeldungen des Kontos automatisch widerrufen. |