#pIdentity
OAuth 2.1 per app di posta: Thunderbird, Outlook, dispositivi e riga di comando
nextxch è un proprio server di autorizzazione OAuth 2.1: le app di posta accedono nel browser tramite il normale login della Webmail (incluse 2FA e passkey), l'utente conferma l'accesso in una pagina di consenso e l'app riceve token di accesso di breve durata e un refresh token a rotazione. IMAP, SMTP, POP3 e ManageSieve accettano i token tramite SASL XOAUTH2 e OAUTHBEARER (RFC 7628), ActiveSync, EWS e MAPI come bearer. I dispositivi senza browser usano il device code flow (RFC 8628). Possono essere accettati anche token di accesso di Entra ID o Keycloak. Ogni autorizzazione è visibile all'utente e all'amministratore e può essere revocata immediatamente.
Con "Solo OAuth / Kerberos per protocollo" (Admin > Origini identità) password e password per app possono essere disattivate per singoli protocolli e domini, ad es. IMAP e SMTP solo con OAuth. Un amministratore locale del server senza origine resta escluso come accesso di emergenza (break-glass).
Riga di comando: device code flow e IMAP con XOAUTH2
Client pubblico preregistrato nextxch-cli. L'utente apre l'indirizzo mostrato, accede e conferma il codice.
# 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_...
Impostazioni, valori predefiniti e best practice
| Impostazione / posizione | Descrizione | Valore predefinito | Best practice per la produzione |
|---|---|---|---|
Einschalten |
Admin > Origini identità > OAuth 2.1: "Accesso OAuth attivato". L'issuer è l'indirizzo pubblico del server. Discovery su /.well-known/oauth-authorization-server e /.well-known/openid-configuration, chiave di firma (ES256) su /oauth/jwks. | Aus |
Access token 60 minuti, refresh token 90 giorni se inutilizzato, al massimo 365 giorni. Un refresh token usato due volte revoca l'intera autorizzazione (protezione contro il furto). |
Thunderbird |
Client pubblico preregistrato "thunderbird" con PKCE e redirect loopback. Autoconfig (/.well-known/autoconfig) offre OAuth2 come secondo metodo dopo la password. | client_id thunderbird |
Thunderbird usa OAuth2 solo per i provider presenti nel suo elenco integrato; per il proprio server dipende dalla versione. Fino ad allora usare Kerberos/GSSAPI o una password per app. |
Outlook und Entra ID |
Con una fonte Entra e "accetta token di accesso per i protocolli", nextxch accetta i token di accesso Entra (firma tramite JWKS, aud, iss incluso l'issuer v1 sts.windows.net, scadenza, directory). ActiveSync, EWS e MAPI annunciano "WWW-Authenticate: Bearer". | aud = api://mail.firma.de |
Entra: registrazione app propria "nextxch Mail API" con URI ID applicazione api://mail.example.com e uno scope (ad es. Mail.Access). Se Outlook per Windows utilizzi l'autenticazione moderna verso il proprio server dipende dalla versione e da Autodiscover; nella rete aziendale Kerberos è la soluzione affidabile. |
Eigene Anwendungen |
Client gestiti dall'amministratore: pubblici (PKCE) o confidenziali con un segreto (mostrato una sola volta), redirect URI esatti o loopback con qualsiasi porta, flussi code, refresh e device code, facoltativamente senza pagina di consenso. | PKCE S256 Pflicht |
Ambiti: mail (tutti i protocolli), singoli protocolli (imap, smtp, pop3, sieve, eas, ews, mapi, dav, jmap), offline_access, openid, email, profile. |
Übersicht und Widerruf |
Gli utenti vedono le proprie app connesse nella Webmail in Impostazioni > Sicurezza, gli amministratori tutte le autorizzazioni in Admin > Origini identità e nella finestra dell'account. La revoca termina immediatamente anche i token di accesso già emessi. | - |
Quando un amministratore reimposta una password AD, tutte le concessioni OAuth dell'account vengono revocate automaticamente. |