Saltar al contenido principal

Change user password

POST 

/company/users/changePass

Permite al usuario autenticado cambiar su propia contraseña.

Objective

Facilitar el cambio de contraseña de forma segura por el propio usuario, manteniendo el historial de contraseñas para evitar repeticiones.

Use Cases

  • Usuario quiere cambiar su contraseña periódicamente
  • Usuario olvidó su contraseña y usó recuperación (ahora quiere una personal)
  • Política de seguridad requiere cambio regular

Authentication

  • Requiere JWT válido (middleware m.isLoged)
  • Usuario debe estar autenticado

Validations

  • La contraseña actual debe ser válida (model.isValidPassword)
  • La nueva contraseña debe coincidir con la confirmación
  • La nueva contraseña debe cumplir requisitos de seguridad:
    • Mínimo 8 caracteres
    • Al menos 1 mayúscula
    • Al menos 1 número
  • No puede ser igual a las últimas 5 contraseñas usadas
  • Crea notificación al cambiar contraseña

Process

  1. Usuario envía contraseña actual y nueva contraseña
  2. Sistema verifica que la contraseña actual sea correcta
  3. Sistema verifica que new_pass y confirm_pass coincidan
  4. Si es válida, actualiza a la nueva contraseña hasheada
  5. Limpia recovery_token
  6. Crea notificación de cambio de contraseña
  7. Actualiza token con m.setNewToken()

Error Messages

  • INVALID_PASSWORD (403): Contraseña actual incorrecta
  • PASSWORD_NOT_MATCH (405): new_pass y confirm_pass no coinciden

Request

Responses

Contraseña cambiada exitosamente