Saltar al contenido principal

Ejecutar Cambio de Contraseña

Ejecuta el cambio real de contraseña utilizando el token de validación obtenido en el Paso 1 y validación de 2FA cuando aplique.


🔄 Paso 2 del Proceso de Cambio

Este endpoint completa el proceso de cambio de contraseña iniciado previamente.
Requiere autenticación activa y un token de validación temporal.

PATCH/auth/account/password

Ejecuta el cambio de contraseña usando el token de validación

📋 Parámetros

passwordstringrequerido

Contraseña actual del usuario

newPasswordstringrequerido

Nueva contraseña (debe cumplir requisitos de seguridad)

validationTokenstringrequerido

Token UUID obtenido en el Paso 1

twoFACodestring

Código TOTP de 6 dígitos (requerido si el usuario tiene 2FA habilitado)

📤 Respuesta

{
"event": {
  "code": 1003,
  "message": "Password updated successfully"
},
"data": {
  "status": "success",
  "message": "Password changed successfully"
}
}

Autenticación

JWT Requerido

Este endpoint requiere un JWT válido en el header:

Authorization: Bearer <access_token>

Requisitos de Contraseña

Política de Contraseñas

La nueva contraseña debe cumplir:

  • Mínimo 9 caracteres
  • Al menos 1 letra mayúscula
  • Al menos 1 letra minúscula
  • Al menos 1 número
  • Al menos 1 carácter especial
  • No puede ser igual a la contraseña actual

Regex de validación:

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{9,}$/

Request Body

Usuario SIN 2FA

{
"password": "CurrentPassword123!",
"newPassword": "NewPassword456!",
"validationToken": "550e8400-e29b-41d4-a716-446655440000"
}

Usuario CON 2FA

{
"password": "CurrentPassword123!",
"newPassword": "NewPassword456!",
"twoFACode": "123456",
"validationToken": "550e8400-e29b-41d4-a716-446655440000"
}

Respuesta Exitosa

Contraseña Actualizada

Código 1003

{
"event": {
"code": 1003,
"message": "Password updated successfully"
},
"data": {
"status": "success",
"message": "Password changed successfully"
}
}

Errores

Validación de Token

CódigoHTTPDescripción
4031400Validation token requerido
4032400Token inválido o expirado
4033401Token no pertenece al usuario

Contraseñas

CódigoHTTPDescripción
4007400Contraseña actual incorrecta
4008400Nueva contraseña inválida o no cumple requisitos
4029400Nueva contraseña igual a la actual

2FA

CódigoHTTPDescripción
4034400Código 2FA requerido
4005401Código 2FA inválido

Ejemplo JavaScript

async function executePasswordChange(token, data) {
const res = await fetch('https://api.swapbits.co/auth/account/password', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
});

return res.json();
}

Enlaces Relacionados