💚POST : Reset Password

Nom de l'API : /reset/password (POST) Description : Cette API POST permet aux utilisateurs de réinitialiser leur mot de passe en utilisant un code de réinitialisation et en fournissant un nouveau mot de passe. Elle effectue plusieurs vérifications avant de mettre à jour le mot de passe de l'utilisateur.

Endpoint : /reset/password Méthode : POST Authentification : Non requise (Public Endpoint)

Paramètres d'entrée :

  • code (type: text) : Le code de réinitialisation envoyé à l'utilisateur

  • password (type: text) : Le nouveau mot de passe choisi par l'utilisateur

Fonctionnement détaillé :

  1. Query All Records From messages

    • Récupère le message d'erreur pour un code de réinitialisation vide

    • Filtre : db:message.internal_name == resetcode_empty

    • Retourne le résultat sous le nom "reset_empty_error"

  2. Query All Records From messages

    • Récupère le message d'erreur pour un mot de passe vide

    • Filtre : db:message.internal_name == password_empty

    • Retourne le résultat sous le nom "password_empty_error"

  3. Precondition

    • Vérifie que le code de réinitialisation n'est pas vide

    • Condition : input:code|is_empty == false

    • Message d'erreur : reset_empty_error.message

    • Payload : • type : reset_empty_error.type • input : reset_empty_error.input

  4. Precondition

    • Vérifie que le nouveau mot de passe n'est pas vide

    • Condition : input:password|is_empty == false

    • Message d'erreur : password_empty_error.message

    • Payload : • type : password_empty_error.type • input : password_empty_error.input

  5. Get Record From users

    • Récupère l'utilisateur correspondant au code de réinitialisation

    • Paramètres de recherche : • field_name : reset_code • field_value : input:text code

    • Retourne le résultat sous le nom "check_user"

  6. Precondition

    • Vérifie que l'utilisateur existe

    • Condition : var:check_user != null

    • Message d'erreur : app_messages.7.message

    • Payload : • type : var:app_messages.7.type • input : var:app_messages.7.input

  7. Edit Record In users

    • Met à jour le mot de passe de l'utilisateur

    • Champs mis à jour : • id : var:check_user.id (non modifié) • created_at : non modifié • email : non modifié • password : input:text password • reset_code : effacé (champ vide)

Réponse : L'API renvoie une réponse avec deux champs :

  • message : var:app_messages.8.message

  • type : var:app_messages.8.type

Notes supplémentaires :

  • Cette API gère de manière sécurisée la réinitialisation du mot de passe.

  • Elle vérifie que le code de réinitialisation et le nouveau mot de passe ne sont pas vides.

  • L'API vérifie l'existence de l'utilisateur avant de procéder à la mise à jour du mot de passe.

  • Les messages d'erreur sont stockés dans une table "messages" et récupérés de manière dynamique.

  • Le type d'erreur est défini comme "Standard" pour les préconditions.

  • Après la mise à jour réussie du mot de passe, le champ reset_code est effacé pour des raisons de sécurité.

  • L'API utilise des variables (var:app_messages) pour définir les messages de réponse, permettant une gestion centralisée des messages.

  • L'interface permet de verrouiller l'enregistrement de l'utilisateur pendant la transaction pour éviter les conflits de mise à jour, mais cette option est définie sur "false" dans l'exemple.

Cette documentation complète couvre maintenant tous les aspects visibles de l'API /reset/password dans les trois images fournies.

Dernière mise à jour