Change user password
POST/company/users/changePass
Consente all'utente autenticato di modificare la propria password.
Obiettivo
Facilitare la modifica della password in modo sicuro da parte dell'utente stesso, mantenendo lo storico delle password per evitarne la ripetizione.
Casi d'Uso
- L'utente desidera cambiare periodicamente la propria password
- L'utente ha dimenticato la password e ha utilizzato il recupero (ora ne vuole una personalizzata)
- La politica di sicurezza richiede un cambio regolare
Autenticazione
- Richiede un JWT valido (middleware m.isLoged)
- L'utente deve essere autenticato
Validazioni
- La password attuale deve essere valida (model.isValidPassword)
- La nuova password deve corrispondere alla conferma
- La nuova password deve soddisfare i requisiti di sicurezza:
- Minimo 8 caratteri
- Almeno 1 maiuscola
- Almeno 1 numero
- Non può essere uguale alle ultime 5 password utilizzate
- Crea una notifica al cambio della password
Processo
- L'utente invia la password attuale e la nuova password
- Il sistema verifica che la password attuale sia corretta
- Il sistema verifica che new_pass e confirm_pass coincidano
- Se valida, aggiorna alla nuova password hashata
- Pulisce il recovery_token
- Crea una notifica di cambio password
- Aggiorna il token con m.setNewToken()
Messaggi di Errore
- INVALID_PASSWORD (403): Password attuale errata
- PASSWORD_NOT_MATCH (405): new_pass e confirm_pass non corrispondono
Request
Responses
- 200
- 400
- 401
- 403
- 405
Password modificata con successo
Richiesta non valida. Possibili cause:
- Campi mancanti nella richiesta
- Errore durante il salvataggio
Non autorizzato. Possibili cause:
- Token JWT non valido o scaduto
- L'utente non dispone delle autorizzazioni necessarie
Password attuale errata
La nuova password e la conferma non corrispondono.