Evaluando propuestas

Integración del sistema de gestión con Microsoft Entra Id (Sso + Mfa)

Publicado el 08 Octubre, 2025 en Programación y Tecnología

Sobre este proyecto

Abierto

Contamos con un sistema de gestión multi-empresa desarrollado en PHP (CodeIgniter 3), con bases de datos separadas por cada empresa.
Actualmente los usuarios inician sesión ingresando email, contraseña y empresa.
Queremos integrar Microsoft Entra ID (Azure AD) para aquellas empresas que lo utilicen, de modo que:
El login se realice con la cuenta corporativa de Microsoft (sso), aplicando mfa según las políticas del tenant.
La gestión de usuarios (altas, bajas, contraseñas) se realice únicamente en Microsoft Entra para las empresas que tengan la integración activada.
Las empresas que no usen Entra continúan con la gestión y login local del sistema.
Requerimientos Funcionales
1.Login Unificado
--Mantener formulario con 3 campos: email, password, empresa.
--Agregar botón “Ingresar con Microsoft”.
2.Gestión de Usuarios
--Altas, bajas y cambios de contraseña se realizan en Entra.
--En el sistema los usuarios se crean como shadow users
--Los roles/permisos se siguen gestionando localmente en el sistema.
3.Soporte multi-empresa
--tabla empresas_oauth guardar tenant_id, client_id, client_secret, redirect_uri.
--Tabla users agregar login_provider, azure_object_id, last_oidc_login.
4.Flujo de Autenticación (OIDC / OAuth2)
--Implementar login por OpenID Connect Authorization Code Flow.
--Validar id_token (firma, aud, iss, tid, nonce).
--Guardar en sesión el idUsuario local, idEmpresa y marcar login_provider='microsoft'.
--Compatible con deep link en mobile (myapp://auth/callback?token=...) Que implementaremos en Flutter.

Contexto general del proyecto

Requerimientos Técnicos Framework: CodeIgniter 3. Lenguaje: PHP 7.4+ Base de datos: MariaDB/MySQL. Servidor: CentOS con Apache y Composer instalado. ________________________________________ Configuraciones en Microsoft Entra (a cargo del freelancer) Crear App Registration para el sistema. Configurar permisos: openid, profile, email, offline_access. Registrar redirect_uri de producción y de prueba. Probar flujo de login desde el sistema hasta retorno del id_token. Documentar pasos para replicar en cada empresa Entregables 1.Script SQL de migración: 2.Nuevos controladores / métodos en CodeIgniter: 3.Actualización de vistas en login y ABM de usuarios. 4.Documentación de instalación/configuración: Exclusiones El desarrollo en Flutter lo realizamos internamente (solo necesitamos endpoints backend listos).

Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Cambio mediano
¿Es un proyecto o una posición? Un proyecto
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)
Roles necesarios Programador

Plazo de Entrega: 31 Octubre, 2025

Habilidades necesarias

Otros proyectos publicados por v3tresb