Saltar al contenido principal

Reenviar email de activación

POST 

/auth/activate

Propósito

Reenvía el email de activación de cuenta a un usuario que aún no ha verificado su dirección de email.

Objetivo

Permitir que usuarios que no recibieron el email de activación original (o lo perdieron) puedan solicitar un nuevo envío para completar la activación de su cuenta.

Casos de uso

  • Un usuario nuevo no recibió el email de activación original.
  • El administrador de la empresa reenvía la activación a un usuario específico.
  • El propio usuario autenticado solicita un reenvío para su cuenta.

Flujo de reenvío

flowchart TD
A[Recibir POST /auth/activate] --> B{¿Usuario autenticado?}
B -->|No| C[401 Unauthorized]
B -->|Sí| D{¿Se proporciona id o email?}
D -->|Sí| E[Buscar usuario por id o email]
D -->|No| F[Usar ID del usuario autenticado]
E --> G{¿Usuario encontrado?}
F --> G
G -->|No| H[404 NOT_FOUND]
G -->|Sí| I[Generar nuevo recovery_token de 20 chars]
I --> J[Enviar email de activación]
J --> K[200 OK - true]

Detalles técnicos

  • El usuario objetivo se resuelve con prioridad:
    1. body.id o query.id o params.id
    2. body.email o query.email o params.email
    3. ID del usuario autenticado actual (req.userData || req.company)
  • Genera un nuevo recovery_token aleatorio de 20 caracteres.
  • Envía el email de activación usando la plantilla sendActive.
  • El enlace de activación del email permite al usuario verificar su cuenta y activarla.

Aclaración de flujo

  • POST /auth/activate: reenvío de email de activación (requiere auth).
  • Activación real por token: GET /users/activate/{token} (ruta pública).

Autenticación

Requiere JWT Bearer token o API Key (isLoged middleware).

Request

Responses

Email de activación reenviado exitosamente

Response Headers