Reset user password (Admin only)
POST/company/users/change/:id
Consente a un amministratore di reimpostare la password di qualsiasi utente dell'azienda, generando una nuova password casuale e inviandola via email.
Obiettivo
Facilitare il recupero dell'accesso degli utenti da parte degli amministratori quando questi dimenticano la propria password o necessitano di assistenza.
Casi d'Uso
- L'utente ha dimenticato la propria password e chiede aiuto all'amministratore
- L'amministratore necessita di ripristinare l'accesso di un utente
- Reimpostazione di sicurezza su richiesta dell'utente
Autenticazione & Autorizzazione
- Richiede un JWT valido (middleware m.isLoged)
- Richiede il ruolo admin o dev (middleware m.isAdmin)
Comportamento
- Se non viene fornita una password, ne genera una automaticamente con tools.generatePass()
- La password generata ha 8 caratteri con maiuscole, minuscole e numeri
- Hashea la password con model.getPassword()
- Invia un'email con la nuova password utilizzando mail.sendNewPass()
- Verifica che l'utente appartenga all'azienda dell'amministratore
Validazioni
- L'utente deve esistere
- L'utente deve appartenere all'azienda dell'amministratore
- Se viene fornita una password nel body, viene utilizzata quella invece di generarne una
Gestione della Password
- Se viene fornita una password nel body, viene utilizzata quella
- Se non viene fornita, ne viene generata una automaticamente: 8 caratteri, maiuscole, minuscole, numeri
- La password viene hasheata con model.getPassword()
- Viene inviata via email all'utente nella sua lingua configurata (user.i18n)
Note
- Diverso da POST /changePass dove l'utente cambia la propria password
- Questo endpoint è affinché l'amministratore reimposti la password di un altro utente
Request
Responses
- 200
- 401
- 403
- 404
Password reimpostata con successo e inviata via email.
Non autorizzato (è richiesto il ruolo admin o dev)
Vietato (l'utente non è amministratore)
Utente non trovato