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://github.com/keycloak/keycloak/issues/39610
https://inero-software.com/secure-email-delivery-in-keycloak-26-2-using-xoauth2


