Change user password
POST/company/users/changePass
Permet à l'utilisateur authentifié de changer son propre mot de passe.
Objectif
Faciliter le changement de mot de passe de manière sécurisée par l'utilisateur lui-même, en conservant l'historique des mots de passe pour éviter les répétitions.
Cas d'utilisation
- L'utilisateur souhaite changer son mot de passe périodiquement
- L'utilisateur a oublié son mot de passe et a utilisé la récupération (il veut maintenant un mot de passe personnel)
- La politique de sécurité exige un changement régulier
Authentification
- Requiert un JWT valide (middleware m.isLoged)
- L'utilisateur doit être authentifié
Validations
- Le mot de passe actuel doit être valide (model.isValidPassword)
- Le nouveau mot de passe doit correspondre à la confirmation
- Le nouveau mot de passe doit respecter les exigences de sécurité :
- Minimum 8 caractères
- Au moins 1 majuscule
- Au moins 1 chiffre
- Ne peut pas être identique aux 5 derniers mots de passe utilisés
- Crée une notification lors du changement de mot de passe
Processus
- L'utilisateur envoie le mot de passe actuel et le nouveau mot de passe
- Le système vérifie que le mot de passe actuel est correct
- Le système vérifie que new_pass et confirm_pass correspondent
- Si valide, met à jour avec le nouveau mot de passe haché
- Efface le recovery_token
- Crée une notification de changement de mot de passe
- Met à jour le token avec m.setNewToken()
Messages d'erreur
- INVALID_PASSWORD (403) : Mot de passe actuel incorrect
- PASSWORD_NOT_MATCH (405) : new_pass et confirm_pass ne correspondent pas
Request
Responses
- 200
- 400
- 401
- 403
- 405
Mot de passe modifié avec succès
Requête invalide. Causes possibles :
- Champs manquants dans la requête
- Erreur lors de l'enregistrement
Non autorisé. Causes possibles :
- Jeton JWT invalide ou expiré
- L'utilisateur ne dispose pas des autorisations nécessaires
Mot de passe actuel incorrect
Le nouveau mot de passe et la confirmation ne correspondent pas.