Volver a la wiki

Cierre del formulario de registro built-in de allauth

Descripción

Se cierra permanentemente el formulario de registro built-in de allauth (/accounts/signup/) que respondía en producción sin haber sido diseñado explícitamente. Este es el F0 de la task #137 (registro público de tenants).

El Problema

El endpoint /accounts/signup/ servido por la librería django-allauth creaba usuarios sin organización (organization=None), lo que genera un estado roto para toda la aplicación:

La Solución

Implementada en core/adapters.py:

def is_open_for_signup(self, request):
    # El alta de tenants pasa por POST /api/signup/ (org + admin sin
    # password, activado por email). El form built-in de allauth crearia
    # usuarios con organization=None — rotos para toda la app.
    return False

El método is_open_for_signup() del adapter CreaRackAccountAdapter:

El único camino correcto de registro

El registro real de nuevas organizaciones (tenants) es POST /api/signup/:

Cambios en Rate Limit

Problema anterior: RATE_LIMIT_ENDPOINTS protegía rutas fantasma (/api/auth/login|register) que nunca existieron.

Corrección:

Impacto

✅ Para usuarios existentes: Ninguno. El login y operaciones normales no cambian. ✅ Para nuevos registros: Deben pasar por el portal de invitación (fases siguientes de #137). 🔒 Seguridad: Anti-abuso correcto en el endpoint real.

Tests

Nuevo fichero tests/api/test_signup_gate.py (5 tests):

Archivo afectado

Véase también

Subir