#pIdentity
OAuth 2.1 para apps de e-mail: Thunderbird, Outlook, dispositivos e linha de comando
O nextxch é seu próprio servidor de autorização OAuth 2.1: os apps de e-mail fazem login no navegador pelo login normal do webmail (incluindo 2FA e chaves de acesso), o usuário confirma o acesso em uma página de consentimento e o app recebe tokens de acesso de curta duração e um refresh token rotativo. IMAP, SMTP, POP3 e ManageSieve aceitam os tokens via SASL XOAUTH2 e OAUTHBEARER (RFC 7628); ActiveSync, EWS e MAPI, como bearer. Dispositivos sem navegador usam o device code flow (RFC 8628). Tokens de acesso do Entra ID ou do Keycloak também podem ser aceitos. Cada autorização é visível para o usuário e o administrador e pode ser revogada imediatamente.
Com "Somente OAuth / Kerberos por protocolo" (Admin > Fontes de identidade), senhas e senhas de app podem ser desativadas para protocolos e domínios individuais, por exemplo, IMAP e SMTP somente com OAuth. Um administrador local do servidor sem fonte fica isento, como acesso de emergência (break-glass).
Linha de comando: device code flow e IMAP com XOAUTH2
Cliente público pré-registrado nextxch-cli. O usuário abre o endereço exibido, entra e confirma o 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_...
Configurações, valores padrão e boas práticas
| Configuração / local | Descrição | Valor padrão | Boa prática para produção |
|---|---|---|---|
Einschalten |
Admin > Fontes de identidade > OAuth 2.1: "Login OAuth ativado". O emissor é o endereço público do servidor. Descoberta em /.well-known/oauth-authorization-server e /.well-known/openid-configuration, chave de assinatura (ES256) em /oauth/jwks. | Aus |
Token de acesso 60 minutos, token de atualização 90 dias sem uso, no máximo 365 dias. Um token de atualização usado duas vezes revoga toda a concessão (proteção contra roubo). |
Thunderbird |
Cliente público pré-registrado "thunderbird" com PKCE e redirecionamento de loopback. O Autoconfig (/.well-known/autoconfig) oferece OAuth2 como segundo método, após a senha. | client_id thunderbird |
O Thunderbird usa OAuth2 apenas para provedores de sua lista integrada; para o seu próprio servidor, isso depende da versão. Até lá, use Kerberos/GSSAPI ou uma senha de app. |
Outlook und Entra ID |
Com uma fonte Entra e "aceitar tokens de acesso para protocolos", o nextxch aceita tokens de acesso do Entra (assinatura por JWKS, aud, iss incluindo o emissor v1 sts.windows.net, expiração, diretório). ActiveSync, EWS e MAPI anunciam "WWW-Authenticate: Bearer". | aud = api://mail.firma.de |
Entra: registro de app próprio "nextxch Mail API" com URI de ID do aplicativo api://mail.example.com e um escopo (por exemplo, Mail.Access). Se o Outlook para Windows usa autenticação moderna contra o seu próprio servidor depende da versão e do Autodiscover; na rede da empresa, o Kerberos é o caminho confiável. |
Eigene Anwendungen |
Clientes gerenciados pelo administrador: públicos (PKCE) ou confidenciais com um segredo (exibido uma vez), URIs de redirecionamento exatos ou loopback com qualquer porta, fluxos code, refresh e device code, opcionalmente sem página de consentimento. | PKCE S256 Pflicht |
Escopos: mail (todos os protocolos), protocolos individuais (imap, smtp, pop3, sieve, eas, ews, mapi, dav, jmap), offline_access, openid, email, profile. |
Übersicht und Widerruf |
Os usuários veem seus apps conectados no webmail em Configurações > Segurança; os administradores veem todas as autorizações em Admin > Fontes de identidade e no diálogo da conta. A revogação também encerra imediatamente os tokens de acesso já emitidos. | - |
Quando um administrador redefine uma senha do AD, todas as autorizações OAuth da conta são revogadas automaticamente. |