Reset user password (Admin only)
POST/company/users/change/:id
Ermöglicht einem Administrator, das Passwort eines beliebigen Benutzers des Unternehmens zurückzusetzen, indem ein neues zufälliges Passwort generiert und per E-Mail versendet wird.
Ziel
Administratoren die Wiederherstellung des Benutzerzugriffs zu erleichtern, wenn Benutzer ihr Passwort vergessen haben oder Hilfe benötigen.
Anwendungsfälle
- Benutzer hat sein Passwort vergessen und bittet den Administrator um Hilfe
- Administrator muss den Zugriff eines Benutzers wiederherstellen
- Sicherheitsreset auf Anfrage des Benutzers
Authentifizierung & Autorisierung
- Erfordert gültiges JWT (Middleware m.isLoged)
- Erfordert Admin- oder Dev-Rolle (Middleware m.isAdmin)
Verhalten
- Wenn kein Passwort angegeben wird, wird automatisch eines mit tools.generatePass() generiert
- Das generierte Passwort hat 8 Zeichen mit Großbuchstaben, Kleinbuchstaben und Zahlen
- Das Passwort wird mit model.getPassword() gehasht
- Sendet eine E-Mail mit dem neuen Passwort unter Verwendung von mail.sendNewPass()
- Überprüft, ob der Benutzer zum Unternehmen des Administrators gehört
Validierungen
- Benutzer muss existieren
- Benutzer muss zum Unternehmen des Administrators gehören
- Wenn ein Passwort im Body angegeben wird, wird dieses verwendet
Passwortbehandlung
- Wenn ein Passwort im Body angegeben wird, wird dieses verwendet
- Wenn keines angegeben wird, wird automatisch eines generiert: 8 Zeichen, Großbuchstaben, Kleinbuchstaben, Zahlen
- Das Passwort wird mit model.getPassword() gehasht
- Es wird per E-Mail an den Benutzer in seiner konfigurierten Sprache (user.i18n) gesendet
Hinweise
- Unterscheidet sich von POST /changePass, wo der Benutzer sein eigenes Passwort ändert
- Dieser Endpoint dient dazu, dass der Administrator das Passwort eines anderen Benutzers zurücksetzt
Request
Responses
- 200
- 401
- 403
- 404
Passwort erfolgreich zurückgesetzt und per E-Mail versendet.
Nicht autorisiert (Admin- oder Dev-Rolle erforderlich)
Verboten (Benutzer ist kein Administrator)
Benutzer nicht gefunden