Configurar OAuth IMAP con Entra (Microsoft 365) en GLPI
En este tutorial configuraremos GLPI para recibir correos desde un buzón de Microsoft 365 usando OAuth2 (Entra ID) mediante el plugin OAuth IMAP. Este método reemplaza el uso de contraseñas clásicas y es el recomendado para entornos modernos y seguros.
1- Requisitos previos
Antes de comenzar, asegúrate de cumplir con lo siguiente:
- GLPI 10.x o superior.
- PHP 8.1 o superior.
- Acceso a la suscripción de Microsoft 365 (Exchange Online) con permisos para registrar aplicaciones en Entra ID.
- Un buzón que será usado por el receptor de GLPI (service account recomendado).
2- Instalar y habilitar el plugin OAuth IMAP en GLPI
Desde GLPI:
- Ir a Configuración > Plugins.
- Desde el Marketplace, buscar OAuth IMAP.
- Instalar el plugin.
- Activarlo.
Tras activarlo, aparecerá un nuevo menú para gestionar las aplicaciones OAuth IMAP.
3- Obtener la URL de redirección (callback) en GLPI
Necesitamos la URL de redirección que usará Entra para devolver el token a GLPI.
- Ir a Configuración > Aplicaciones OAuth IMAP (o Setup > Oauth IMAP applications según idioma).
- Haz clic en Añadir o abre la ayuda del plugin para visualizar la URL de callback, similar a:
https://tu-servidor/marketplace/oauthimap/front/authorization.callback.php - Copia esta URL. La necesitaremos en Entra.
4- Registrar la aplicación en Entra (Azure Portal)
Desde el portal de Azure (Entra ID):
- Ingresa al Azure Portal con una cuenta administrativa.
- En la barra de búsqueda escribe App registrations y selecciona App registrations.
- Haz clic en New registration.
4.1 Crear la aplicación
- Asignar un nombre descriptivo, por ejemplo: GLPI OAuth IMAP.
- En Supported account types, normalmente: Accounts in this organizational directory only (Single tenant).
- En Redirect URI:
- Tipo: Web.
- URI: pega la URL de callback obtenida en GLPI.
- Haz clic en Register.
4.2 Crear un Client Secret
- Dentro de la app recién creada, ve a Certificates & secrets.
- En la sección Client secrets, clic en New client secret.
- Asigna una descripción (por ejemplo, GLPI OAuth IMAP) y un periodo de expiración.
- Guarda y copia el valor del secret inmediatamente: no se podrá recuperar después de salir de la página.
Anota:
- Application (client) ID
- Directory (tenant) ID
- Client secret
5- Asignar permisos de API para IMAP (Exchange Online)
Para que la aplicación pueda leer correo vía IMAP, deben concederse permisos a las APIs de Outlook.
- En la aplicación registrada, ve a API permissions.
- Clic en Add a permission.
- Selecciona APIs my organization uses y busca Office 365 Exchange Online o Microsoft Graph según el modelo que uses.
- Agrega los permisos de IMAP adecuados, por ejemplo:
IMAP.AccessAsUser.All(delegado sobre el usuario que autentica). - Agrega también
offline_accesspara permitir la renovación automática de tokens. - Haz clic en Grant admin consent para tu organización.
Sin los permisos correctos, la autenticación OAuth funcionará, pero el conector IMAP no podrá leer ningún correo del buzón.
6- Configurar la aplicación OAuth IMAP en GLPI
De vuelta en GLPI, vamos a crear la aplicación OAuth IMAP usando los datos de Entra.
- Ir a Configuración > Aplicaciones OAuth IMAP.
- Clic en Añadir.
- Selecciona el proveedor Entra o Microsoft / Entra según la versión del plugin.
- Completa los campos:
- Nombre de la aplicación (ej: GLPI OAuth IMAP Entra).
- Tenant ID (Directory ID).
- Client ID (Application ID).
- Client secret (el valor guardado antes).
- URL de callback (GLPI la suele mostrar como referencia).
- Guarda con Añadir.
7- Crear la autorización OAuth (enlace con el buzón)
Ahora vamos a autorizar a GLPI para acceder al buzón que se usará como recolector.
- En la misma pantalla del plugin, entra a la pestaña Oauth authorization.
- Clic en Crear una autorización.
- Serás redirigido a la página de inicio de sesión de Microsoft.
- Inicia sesión con la cuenta de correo que usará el receptor (recomendado: cuenta de servicio).
- Acepta las autorizaciones solicitadas.
- Al finalizar, volverás a GLPI y verás la autorización creada y activa.
El plugin guardará un token “offline” que permite renovar automáticamente el acceso al buzón sin volver a pedir credenciales.
8- Configurar el receptor de correo en GLPI
Con la autorización lista, toca crear o actualizar el receptor (receiver) que leerá los correos.
- Ir a Configuración > Receivers (Recolectores).
- Clic en Añadir o edita uno existente.
- Parámetros típicos para Microsoft 365:
- Servidor IMAP:
outlook.office365.com - Puerto:
993 - Cifrado: SSL/TLS
- Modo de autenticación: selecciona el uso de OAuth IMAP / aplicación configurada.
- Aplicación OAuth: elige la que creaste (GLPI OAuth IMAP Entra).
- Autorización: selecciona la autorización asociada al buzón.
- Servidor IMAP:
- Configura las demás opciones del receptor (carpeta de entrada, archivado, frecuencia, etc.).
- Guarda los cambios.
Finalmente, prueba el receptor para validar que los correos se leen correctamente y se generan tickets.
✔ OAuth IMAP con Entra configurado correctamente
Con estos pasos, GLPI queda integrado con Microsoft 365 usando OAuth2 para el acceso IMAP. Esto elimina el uso de contraseñas directas, mejora la seguridad y se alinea con los requisitos actuales de Microsoft para aplicaciones que acceden a Exchange Online.
En próximos tutoriales podrás complementar esta configuración con receptores delegados, varias bandejas, reglas de clasificación y más escenarios avanzados.
