Estado: Implementado
Los usuarios que desean unirse a un tenant existente necesitan una ruta controlada de solicitud en lugar de una creacion directa de cuentas. UMS debe permitir que el solicitante elija el tenant, envie la solicitud, la mantenga pendiente y obligar al responsable del tenant a cerrarla con una aprobacion o denegacion explicita desde una bandeja dedicada.
| Actor | Responsabilidad |
|---|---|
| Solicitante | Pide acceso a un tenant existente y envia los datos de identidad requeridos. |
| Tenant Admin | Revisa las solicitudes pendientes de acceso del tenant y aprueba o deniega cuando corresponde. |
| Solicitante | Recibe la notificacion final de onboarding despues de que la solicitud es aprobada o denegada. |
Si el solicitante selecciona un tenant que no existe o no esta disponible para onboarding, la solicitud no se envia.
Si el correo ya existe para el mismo tenant, el sistema no crea una cuenta duplicada.
Si el Tenant Admin aun no toma una decision final, la solicitud permanece pendiente y el solicitante no puede iniciar sesion.
Si el Tenant Admin deniega la solicitud, el requerimiento llega a un estado terminal denegado, el solicitante no puede iniciar sesion y la denegacion se comunica automaticamente.
| Regla | Descripcion |
|---|---|
| BR-01 | Las solicitudes de alta de usuario pertenecen solo al tenant objetivo. |
| BR-02 | Los Tenant Admins solo pueden revisar solicitudes de su propio tenant. |
| BR-03 | Una solicitud pendiente no otorga acceso hasta ser aprobada. |
| BR-04 | La aprobacion debe activar la cuenta y notificar al solicitante. |
| BR-05 | Las solicitudes pendientes deben ser visibles en una bandeja dedicada para que no se pierdan dentro de la administracion general de cuentas. |
| BR-06 | El ciclo de vida de cada solicitud debe ser trazable dentro del tenant objetivo desde el envio hasta el cierre final. |
| BR-07 | Los unicos resultados finales de negocio son Aprobado y Denegado. |
| BR-08 | La decision final es obligatoria; la solicitud no puede eliminarse silenciosamente ni quedar sin registro de cierre. |
| BR-09 | La decision final debe disparar una notificacion automatica al solicitante con el resultado de acceso. |
| # | Criterio de Aceptacion |
|---|---|
| 1 | Un solicitante puede enviar una solicitud de alta completa para un tenant existente. |
| 2 | La solicitud se guarda como pendiente y aparece en la bandeja de onboarding del tenant. |
| 3 | Solo el tenant objetivo puede ver la solicitud. |
| 4 | Un Tenant Admin puede aprobar o denegar la solicitud desde la bandeja. |
| 5 | La aprobacion activa la cuenta de usuario y notifica al solicitante. |
| 6 | La denegacion cierra la solicitud sin activar acceso y notifica al solicitante. |
| 7 | Las solicitudes pendientes no permiten acceso antes de la aprobacion. |
| 8 | El sistema guarda tenant, estado actual, resultado de decision, fecha de decision, aprobador y motivo cuando aplique. |
UserAccount en estado Pending en lugar de crear una tabla separada de onboarding.| Tipo | Referencias |
|---|---|
| Historias Funcionales | FS-22 |
| Entidades de Dominio | UserAccount, Tenant |
| Notificaciones | UserSignupRequestReceived, UserSignupApproved, UserSignupDenied |
| ADRs | ADR-0075 |
UserAccountOnboardingCommandHandlerTests.cs cubre visibilidad de solicitudes pendientes, denegacion, alcance por tenant y manejo de estados finales.UserAccountCommandHandlerTests.cs cubre la activacion de una cuenta pendiente y la transicion al estado aprobado usada por el flujo de onboarding.UserAccountEndpoints.cs y OnboardingInboxEndpoints.cs exponen la bandeja y las rutas de accion terminal usadas por la historia.