Configurar Azure Communications SMTP a Keycloak

Des que Keycloak 26.2 permet l’autenticació XAuth2.0 és permet enviar e-mails des relays del cloud.

Configurar aplicació a l’Entra ID

Primer de tot ens hem de copiar el TenantId del domini d’EntraID:

Aneu al vostre gestor de domini d’Entra ID i afegiu una aplicació:

Afegiu un nou registre:

Un cop creada accediu a la mateixa, primer copieu el identificador d’aplicació i posteriorment aneu a l’apartat certificats i secrets, creeu-ne un de nou i deseeu en un lloc segur el secretId:

Configurar Azure Email Communication Service

Després de crear el recurs cal provisionar un domini:

Si s’afegeix un custom tingueu en compte caldrà verificar-lo que cal accedir al panell de DNS del domini per afegir registres CNAME com SPF, DKIM i DKIM2.

Configurar Azure Communication Service

Anirem a Correu Electrònic i dominis per afegir la configuració feta

Un cop configurat en ens apareixerà el domini:

En pic teniu configurat el domini ja podeu anar a crear el usuari de SMTP:

Al afegir-lo podeu afegir el username tant com mail com customtext. És indiferent:

Configurar e-mail a Keycloak

Accedim al realm que volem afegir missatgeria per correu electrònic i aneu als settings de realm:

Anem a la pestanya de Email

A “Connection & Authentication” considerem els següents valors:

  • Host: smtp.azurecomm.net
  • Port: 587
  • Encirptació:
    • Enable SSL: FALSE
    • Enable StartTLS: FALSE
  • Authentication: TRUE
  • Username: mail o customtext que haguem posat a configuració de SMTP
  • Authentication Type: Token
  • Auth Token URL: https://login.microsoftonline.com/[TenantId de EntraID]/oauth2/v2.0/token
  • Auth Token Scope: https://communication.azure.com/.default
  • Auth Token ClientId: el id de client d’aplicació de Entra ID que hem creat al primer pas
  • Auth Token Client Secret: el client secret que hem creat al primer pas al crear l’aplicació al EntraID.
  • Timeouts: sense tocar

Guardeu i executeu prova. Si tot és correcte, veureu notificació i en uns segons rebreu email:

Fonts:

https://github.com/keycloak/keycloak/issues/17432

https://www.keycloak.org/2025/05/send-mails-xoauth-26-2

https://learn.microsoft.com/es-es/azure/communication-services/quickstarts/email/send-email-smtp/send-email-smtp-oauth

https://github.com/keycloak/keycloak/issues/39610

https://inero-software.com/secure-email-delivery-in-keycloak-26-2-using-xoauth2