Réinitialisation du mot de passe¶
Ces routes permettent de demander un lien de réinitialisation puis de définir un nouveau mot de passe. Elles sont accessibles sans authentification afin de permettre leur utilisation depuis l'écran de connexion.
Fonctionnement¶
- Le client appelle
POST /rest/passwordavec le login de l'utilisateur. - Si le compte existe, Maarch Courrier génère un jeton valable une heure et place un courriel de réinitialisation dans la file d'envoi.
- Le client transmet ce jeton avec le nouveau mot de passe à
PUT /rest/password. - Après la modification, le jeton est supprimé et ne peut plus être réutilisé.
Une nouvelle demande remplace le jeton précédemment enregistré. Seul le lien correspondant à la demande la plus récente peut être utilisé.
Demander la réinitialisation d'un mot de passe¶
Route¶
Cette route ne nécessite pas d'en-tête Authorization.
Paramètres¶
Body¶
| Valeur | Type | Obligatoire | Description |
|---|---|---|---|
login |
string | Oui | Login de l'utilisateur. La recherche n'est pas sensible à la casse |
Exemple¶
Retour¶
| Code HTTP | Type | Description |
|---|---|---|
204 |
aucun | La demande a été prise en compte. La réponse ne contient pas de corps |
400 |
object | Le paramètre login est absent ou vide |
Erreur¶
Comportement¶
Lorsque l'utilisateur existe :
- un jeton JWT de réinitialisation valable une heure est généré ;
- le jeton est enregistré sur le compte utilisateur ;
- un courriel contenant un lien vers l'écran de réinitialisation est placé dans la file d'envoi ;
- une entrée est ajoutée à l'historique de l'utilisateur.
Lorsque l'utilisateur n'existe pas, la route renvoie également un code 204 sans corps de réponse. Ce comportement empêche de déterminer si un login est enregistré dans Maarch Courrier.
Le code
204confirme la prise en compte de la demande, mais ne garantit pas la remise du courriel au destinataire.
Définir un nouveau mot de passe¶
Route¶
Cette route ne nécessite pas d'en-tête Authorization. Le jeton de réinitialisation assure l'autorisation de la modification.
Paramètres¶
Body¶
| Valeur | Type | Obligatoire | Description |
|---|---|---|---|
token |
string | Oui | Jeton reçu dans le lien de réinitialisation |
password |
string | Oui | Nouveau mot de passe respectant les règles de sécurité actives |
Les règles actives peuvent être récupérées avec la route GET /rest/passwordRules. Selon la configuration, elles peuvent imposer une longueur minimale, une majuscule, un chiffre ou un caractère spécial.
Exemple¶
Retour¶
| Code HTTP | Type | Description |
|---|---|---|
204 |
aucun | Le mot de passe a été modifié. La réponse ne contient pas de corps |
400 |
object | Paramètre manquant, utilisateur inexistant ou mot de passe non conforme |
403 |
object | Jeton invalide, expiré, remplacé ou déjà utilisé |
Erreurs¶
| Situation | Code HTTP | Exemple |
|---|---|---|
token ou password absent |
400 |
{"errors":"Body token or body password is empty"} |
| Utilisateur référencé par le jeton inexistant | 400 |
{"errors":"User does not exist"} |
| Mot de passe non conforme aux règles actives | 400 |
{"errors":"Password does not match security criteria"} |
| Jeton invalide, expiré ou différent du jeton enregistré | 403 |
{"errors":"Invalid token","lang":"invalidToken"} |
Effets de la modification¶
Après une réponse 204 :
- le mot de passe est enregistré sous forme de hash ;
- la date de dernière modification du mot de passe est mise à jour ;
- le jeton de réinitialisation est supprimé ;
- une entrée est ajoutée à l'historique de l'utilisateur.