Passa al contenuto principale

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

Password reimpostata con successo e inviata via email.