2026-07-05 11:43:13 +00:00
|
|
|
# Identity Roadmap
|
|
|
|
|
|
|
|
|
|
## Objetivo general
|
|
|
|
|
|
2026-07-06 12:04:47 +00:00
|
|
|
Completar la transición desde el módulo legacy `auth` hacia `identity`, manteniendo separadas autenticación, tenant context, companies y autorización.
|
2026-07-05 11:43:13 +00:00
|
|
|
|
2026-07-06 12:04:47 +00:00
|
|
|
## Estado consolidado
|
2026-07-05 11:43:13 +00:00
|
|
|
|
2026-07-06 12:04:47 +00:00
|
|
|
Ya está implementado:
|
2026-07-05 11:43:13 +00:00
|
|
|
|
|
|
|
|
```txt
|
|
|
|
|
login
|
|
|
|
|
refresh rotado
|
|
|
|
|
logout
|
|
|
|
|
session
|
2026-07-06 12:04:47 +00:00
|
|
|
GET /companies/available
|
|
|
|
|
selección de empresa en frontend
|
|
|
|
|
auto-selección con una sola empresa
|
|
|
|
|
refresh automático sobre 401 en frontend
|
|
|
|
|
validación real de membership active + company active en tenant middleware
|
2026-07-05 11:43:13 +00:00
|
|
|
```
|
|
|
|
|
|
2026-07-06 12:04:47 +00:00
|
|
|
## Trabajo todavía pendiente
|
2026-07-05 11:43:13 +00:00
|
|
|
|
2026-07-06 12:04:47 +00:00
|
|
|
### Roles y permisos
|
2026-07-05 11:43:13 +00:00
|
|
|
|
|
|
|
|
Pendiente:
|
|
|
|
|
|
2026-07-06 12:04:47 +00:00
|
|
|
- resolución de permisos efectivos
|
|
|
|
|
- middleware de autorización fina
|
|
|
|
|
- endpoints funcionales de roles/permisos si se activan
|
2026-07-05 11:43:13 +00:00
|
|
|
|
2026-07-06 12:04:47 +00:00
|
|
|
### Migración legacy restante
|
2026-07-05 11:43:13 +00:00
|
|
|
|
|
|
|
|
Pendiente:
|
|
|
|
|
|
2026-07-06 12:04:47 +00:00
|
|
|
- revisar consumidores legacy que sigan atados a `modules/auth`
|
|
|
|
|
- migrar o retirar `supplier` cuando se decida
|
|
|
|
|
- retirar `@erp/auth/client` si aún queda compatibilidad heredada
|
2026-07-05 11:43:13 +00:00
|
|
|
|
2026-07-06 12:04:47 +00:00
|
|
|
## Decisiones que se mantienen
|
2026-07-05 11:43:13 +00:00
|
|
|
|
|
|
|
|
No hacer:
|
|
|
|
|
|
2026-07-06 12:04:47 +00:00
|
|
|
- meter `companyId` en access token
|
2026-07-05 11:43:13 +00:00
|
|
|
- meter roles/permisos en access token
|
2026-07-06 12:04:47 +00:00
|
|
|
- meter `companySlug` en access token
|
|
|
|
|
- documentar `GET /identity/companies` como endpoint vigente
|
|
|
|
|
- poblar `companySlug` desde auth middleware
|
|
|
|
|
- usar `getInternal("identity")` desde módulos consumidores
|
|
|
|
|
- usar `IdentityInternalDeps` desde módulos consumidores
|
2026-07-05 11:43:13 +00:00
|
|
|
|
|
|
|
|
Sí hacer:
|
|
|
|
|
|
2026-07-06 12:04:47 +00:00
|
|
|
- usar `requireIdentityTenant(params)` en rutas tenant-scoped
|
|
|
|
|
- usar `requireIdentityAuthenticated(params)` en rutas solo autenticadas
|
|
|
|
|
- usar `GET /companies/available` para companies accesibles en frontend
|
|
|
|
|
- resolver datos documentales desde `companies` u otros servicios específicos
|