💛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 :

  1. password_verification (type: text) : Confirmation du nouveau mot de passe

  2. password_new (type: text) : Nouveau mot de passe

  3. password_previous (type: text) : Mot de passe actuel

Fonctionnement détaillé :

  1. 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"

  2. 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"

  3. 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"

  4. 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

  5. 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

  6. 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"

  7. 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

  8. 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"

  9. 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