- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8 - Actualizaciones de configuracion Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
114 lines
2.7 KiB
Markdown
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
|