💛PUT user/password
Nom de l'API : /user/password (PUT)
Description : Cette API permet aux utilisateurs authentifiés de modifier leur mot de passe. Elle inclut des vérifications de sécurité pour s'assurer que le changement de mot de passe est valide et autorisé.
Endpoint : /user/password
Méthode : PUT
Authentification : Requise
Paramètres d'entrée :
password_verification (type: text) : Confirmation du nouveau mot de passe
password_new (type: text) : Nouveau mot de passe
password_previous (type: text) : Mot de passe actuel
Fonctionnement détaillé :
Get Record From users :
Récupère les informations de l'utilisateur actuel
Utilise l'ID de l'utilisateur authentifié (auth:id)
Retourne le résultat sous le nom "current_user"
Get Record From messages (password_mismatch_error) :
Récupère le message d'erreur pour un mot de passe non concordant
Filtre : internal_name == "password_mismatch"
Get Record From messages (current_password_incorrect_error) :
Récupère le message d'erreur pour un mot de passe actuel incorrect
Filtre : internal_name == "current_password_incorrect"
Create Variable (verify_password) :
Vérifie si le nouveau mot de passe et sa confirmation correspondent
Opération : input:password_new equals input:password_verification
Precondition (verify_password) :
Vérifie que les mots de passe correspondent
Condition : var:verify_password == true
Message d'erreur : password_mismatch_error.message
Payload :
type : password_mismatch_error.type
input : password_mismatch_error.input
Validate Password :
Vérifie si le mot de passe actuel est correct
Compare input:password_previous avec current_user.password
Retourne le résultat sous le nom "verify_previous_password"
Precondition (verify_previous_password) :
Vérifie que le mot de passe actuel est correct
Condition : var:verify_previous_password == true
Message d'erreur : current_password_incorrect_error.message
Payload :
type : current_password_incorrect_error.type
input : current_password_incorrect_error.input
Edit Record In users :
Met à jour le mot de passe de l'utilisateur
Trouve l'utilisateur par son ID (auth:id)
Modifie le champ password avec input:password_new
Retourne le résultat sous le nom "updated_user"
Get Record From messages (validation_message) :
Récupère le message de validation pour le changement de mot de passe réussi
Filtre : internal_name == "info_passwordchanged"
Réponse : L'API renvoie un objet JSON contenant :
message : Le message de validation (validation_message.message)
payload : Un objet contenant des informations supplémentaires (non spécifié dans les images)
Gestion des erreurs :
Si les nouveaux mots de passe ne correspondent pas : Renvoie password_mismatch_error
Si le mot de passe actuel est incorrect : Renvoie current_password_incorrect_error
Sécurité :
L'API nécessite une authentification
Le mot de passe actuel est vérifié avant toute modification
Les nouveaux mots de passe sont comparés pour éviter les erreurs de saisie
Notes pour les développeurs :
Assurez-vous que le nouveau mot de passe est correctement haché avant d'être stocké dans la base de données
Considérez l'ajout de règles de complexité pour les nouveaux mots de passe
L'API utilise des messages prédéfinis stockés dans la table "messages" pour une gestion centralisée des textes d'erreur et de validation
Dernière mise à jour