template-saas/docs/02-integraciones/INT-002-oauth.md
rckrdmrd 50a821a415
Some checks failed
CI / Backend CI (push) Has been cancelled
CI / Frontend CI (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / CI Summary (push) Has been cancelled
[SIMCO-V38] feat: Actualizar a SIMCO v3.8.0
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Actualizaciones de configuracion

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:08 -06:00

114 lines
2.7 KiB
Markdown

---
id: "INT-002"
title: "Integracion OAuth Providers"
type: "Integration"
status: "Implemented"
priority: "P1"
provider: "Google/GitHub/Microsoft"
category: "Authentication"
multi_tenant: true
version: "1.0.0"
created_date: "2026-01-07"
updated_date: "2026-01-10"
---
# INT-002: OAuth Integration
## Metadata
| Campo | Valor |
|-------|-------|
| Codigo | INT-002 |
| Proveedor | Google, GitHub, Microsoft |
| Tipo | Auth |
| Estado | Implementado |
| Multi-tenant | Si |
| Fecha integracion | 2026-01-10 |
---
**Documentacion completa:** Ver [SAAS-001-auth.md](../01-modulos/SAAS-001-auth.md)
## Resumen
Integracion OAuth 2.0 para autenticacion con proveedores externos.
## Proveedores Soportados
- Google
- GitHub
- Microsoft (Azure AD)
## Caracteristicas
- OAuth 2.0 Authorization Code Flow
- Almacenamiento de tokens en tabla oauth_connections
- Vinculacion de cuentas existentes
- Creacion automatica de usuarios nuevos
## Configuracion
```env
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
```
## Rate Limits
| Limite | Valor | Accion si excede |
|--------|-------|------------------|
| Requests/min | 10000 (Google), 5000 (GitHub) | Retry con backoff exponencial |
## Manejo de Errores
| Codigo | Descripcion | Accion |
|--------|-------------|--------|
| 400 | Bad Request | Log + no retry |
| 401 | Unauthorized | Renovar credenciales |
| 429 | Rate Limited | Backoff exponencial |
| 500 | Server Error | Retry con backoff |
## Fallbacks
### Estrategia OAuth Fallback
| Escenario | Estrategia |
|-----------|------------|
| Provider no disponible | Mostrar login local con email/password |
| Token expirado | Refresh automatico con refresh_token |
| Refresh token falla | Redirigir a pantalla de login |
| Nuevo usuario OAuth | Crear cuenta automatica con datos del provider |
### Degradacion Graceful
- Si Google OAuth falla: Ofrecer GitHub o Microsoft como alternativa
- Si todos los OAuth providers fallan: Solo login local disponible
- Timeout por provider: 10 segundos maximo
- Cache de configuracion: 5 minutos para reducir llamadas
## Multi-tenant
- Credenciales: Por tenant (cada tenant puede configurar sus propios OAuth apps)
- Configuracion: Por tenant via tenant_config
- Aislamiento: Prefijo tenant_id en todas las operaciones
## Testing
### Sandbox/Test Mode
- Usar aplicaciones OAuth de desarrollo
- Usuarios de prueba en consolas de desarrollador
- Fixtures disponibles para testing unitario
## Monitoreo
| Metrica | Descripcion | Alerta |
|---------|-------------|--------|
| Latencia | Tiempo de respuesta | >2s |
| Errores | Tasa de errores | >1% |
| Disponibilidad | Uptime del servicio | <99.9% |
## Referencias
- Modulo relacionado: SAAS-001-auth.md
---
**Ultima actualizacion:** 2026-01-10
**Version:** 1.0.0