#pIdentity
OAuth 2.1 para apps de correo: Thunderbird, Outlook, dispositivos y la línea de comandos
nextxch es su propio servidor de autorización OAuth 2.1: las aplicaciones de correo inician sesión en el navegador mediante el inicio de sesión normal del Webmail (incluidos 2FA y llaves de acceso), el usuario confirma el acceso en una página de consentimiento y la aplicación recibe tokens de acceso de corta duración y un token de actualización rotativo. IMAP, SMTP, POP3 y ManageSieve aceptan los tokens mediante SASL XOAUTH2 y OAUTHBEARER (RFC 7628); ActiveSync, EWS y MAPI, como bearer. Los dispositivos sin navegador usan el flujo de código de dispositivo (RFC 8628). También se pueden aceptar tokens de acceso de Entra ID o Keycloak. Cada concesión es visible para el usuario y el administrador y puede revocarse de inmediato.
Con "Solo OAuth / Kerberos por protocolo" (Admin > Fuentes de identidad), las contraseñas y las contraseñas de aplicación pueden desactivarse para protocolos y dominios concretos, p. ej., IMAP y SMTP solo con OAuth. Un administrador local del servidor sin fuente queda exento como acceso de emergencia (break-glass).
Línea de comandos: flujo de código de dispositivo e IMAP con XOAUTH2
Cliente público prerregistrado nextxch-cli. El usuario abre la dirección mostrada, inicia sesión y confirma el código.
# 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_...
Configuración, valores predeterminados y buenas prácticas
| Ajuste / ubicación | Descripción | Valor predeterminado | Buena práctica de producción |
|---|---|---|---|
Einschalten |
Admin > Fuentes de identidad > OAuth 2.1: "Inicio de sesión OAuth activado". El emisor es la dirección pública del servidor. Discovery en /.well-known/oauth-authorization-server y /.well-known/openid-configuration, clave de firma (ES256) en /oauth/jwks. | Aus |
Token de acceso 60 minutos, token de actualización 90 días sin uso, máximo 365 días. Un token de actualización usado dos veces revoca toda la concesión (protección contra robo). |
Thunderbird |
Cliente público prerregistrado "thunderbird" con PKCE y redirección loopback. Autoconfig (/.well-known/autoconfig) ofrece OAuth2 como segundo método después de la contraseña. | client_id thunderbird |
Thunderbird usa OAuth2 solo para los proveedores de su lista integrada; para su propio servidor depende de la versión. Mientras tanto, use Kerberos/GSSAPI o una contraseña de aplicación. |
Outlook und Entra ID |
Con una fuente Entra y "aceptar tokens de acceso para protocolos", nextxch acepta tokens de acceso de Entra (firma mediante JWKS, aud, iss incluido el emisor v1 sts.windows.net, caducidad, directorio). ActiveSync, EWS y MAPI anuncian "WWW-Authenticate: Bearer". | aud = api://mail.firma.de |
Entra: registro de aplicación propio "nextxch Mail API" con el URI de ID de aplicación api://mail.example.com y un ámbito (p. ej., Mail.Access). Que Outlook para Windows use la autenticación moderna contra su propio servidor depende de la versión y de Autodiscover; en la red corporativa, Kerberos es la vía fiable. |
Eigene Anwendungen |
Clientes gestionados por el administrador: públicos (PKCE) o confidenciales con un secreto (se muestra una vez), URI de redirección exactos o loopback con cualquier puerto, flujos code, refresh y device code, opcionalmente sin página de consentimiento. | PKCE S256 Pflicht |
Ámbitos: mail (todos los protocolos), protocolos individuales (imap, smtp, pop3, sieve, eas, ews, mapi, dav, jmap), offline_access, openid, email, profile. |
Übersicht und Widerruf |
Los usuarios ven sus aplicaciones conectadas en el webmail, en Configuración > Seguridad; los administradores ven todas las concesiones en Admin > Fuentes de identidad y en el diálogo de la cuenta. La revocación también invalida de inmediato los tokens de acceso ya emitidos. | - |
Cuando un administrador restablece una contraseña de AD, todas las autorizaciones OAuth de la cuenta se revocan automáticamente. |