Hack System
  • Hack System
  • Commencer Ici
    • Installation
    • Page
  • Features
    • 📝Gestion du Contenu
    • 🔓Auth (classique)
  • APIs
    • 👤Groupe API : Authentication
      • 💚POST : Auth Login
      • 💚POST : Auth Signup
      • 💙GET : Auth User
      • 💙GET : Linkedin Continue
      • 💙GET : Linkedin Init
      • 💙GET : Reset Password
      • 💚POST : Reset Password
    • ✍️Groupe API : Content
      • 💙GET : Content
    • ⚙️Groupe API : Settings
      • 💛PUT user/password
      • 💛PUT user/profile
    • 🗒️Groupe API : Waitinglist
      • 💙POST waitinglist
  • 🗃️Base de données
    • 🪪users
    • 📧transactional_emails
    • 📬messages
    • 🏗️App_structure
    • ✍️Content_strings
    • 🗒️Waitinglist
    • 🏢Workspace
  • 🔁Fonctions Xano
    • 📚Notes : Fonctions
    • 🚫Fonction : Error Empty Email
    • 🚫Fonction : Error Empty Password
    • 🚫Fonction : Error Existing Email
    • 🚫Fonction : Error Not Existing User
    • ℹ️Fonction : Information Good Password
    • 🤵Fonction : LinkedIn OAuth Get Access Token
    • 🤵Fonction : LinkedIn OAuth Get Authentication URL
    • 🤵Fonction : LinkedIn OAuth Get User Information
    • 📨Fonction : Send Email
Propulsé par GitBook
Sur cette page

Cet article vous a-t-il été utile ?

  1. APIs
  2. Groupe API : Authentication

POST : Auth Signup

Nom de l'API : /auth/signup (POST)

Description : Cette API POST permet aux nouveaux utilisateurs de s'inscrire à l'application. Elle effectue plusieurs vérifications, crée un nouveau compte utilisateur, gère la liste d'attente si nécessaire, et génère un token d'authentification.

Endpoint : /auth/signup

Méthode : POST

Authentification : Non requise (Public Endpoint)

Paramètres d'entrée :

  • email (type: email) : L'adresse email du nouvel utilisateur

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

Fonctionnement détaillé :

  1. Query All Records From messages

    • Récupère tous les messages d'erreur et d'information

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

  2. Custom Function Error Empty Email

    • Vérifie si l'email fourni est non vide

    • Input : email

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

  3. Custom Function Error Empty Password

    • Vérifie si le mot de passe fourni est non vide

    • Input : password

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

  4. Precondition

    • Vérifie si la longueur du mot de passe est d'au moins 8 caractères

    • Condition : input:password|strlen < 8

  5. Custom Function Error Existing Email

    • Vérifie si l'email n'est pas déjà utilisé par un autre compte

    • Input : email

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

  6. Extract the part of the email before @

    • Crée une variable "splitted_email"

    • Extrait la partie de l'email avant le symbole @

    • Utilise l'input "email" comme source

  7. Add Record In users

    • Crée un nouvel enregistrement dans la table "users"

    • Champs : • id : auto-incrémenté • created_at : timestamp actuel • email : input:email • password : input:password • reset_code : vide (pour réinitialisation de mot de passe) • info : objet vide {} • token : vide

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

  8. Add Record In workspace

    • Crée un nouvel espace de travail pour l'utilisateur

    • Champs : • id : auto-incrémenté • created_at : timestamp actuel • users : tableau contenant un objet avec :

      • users_id : new_user.id

      • role : "admin" • workspace_info : objet vide {}

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

  9. Get Record From waitinglist

    • Vérifie si l'email existe dans la liste d'attente

    • Paramètres de recherche : • field_name : "email" • field_value : input:email

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

  10. Conditional: If var:check_waitinglist != NA

    • Vérifie si l'utilisateur était dans la liste d'attente

    Si la condition est vraie : 10.1 Edit Record In waitinglist - Met à jour l'enregistrement dans la liste d'attente - Paramètres de recherche : • field_name : "email" • field_value : input:email - Champs mis à jour : • account_created : true - Retourne le résultat sous le nom "waiting_account_created"

  11. Create Authentication Token

    • Génère un token d'authentification pour le nouvel utilisateur

    • Paramètres de configuration : • dbtable : Users (ID: 104) • extras : objet vide {} • expiration : 86400 (24 heures en secondes) • id : new_user.id

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

Réponse : L'API renvoie un objet JSON contenant :

  • auth_token : Le token d'authentification généré (var: auth_token)

Notes supplémentaires :

  • Cette API effectue plusieurs vérifications de sécurité avant de créer un nouveau compte utilisateur.

  • Elle gère les erreurs pour les champs vides, les mots de passe trop courts et les emails déjà existants.

  • L'API crée automatiquement un espace de travail pour chaque nouvel utilisateur, avec le rôle "admin".

  • Elle vérifie également si l'utilisateur était dans une liste d'attente et met à jour son statut si nécessaire.

  • La génération du token d'authentification à la fin permet à l'utilisateur d'être immédiatement connecté après l'inscription.

  • Le token d'authentification est créé avec une durée de validité de 24 heures (86400 secondes).

  • Cette structure permet une inscription fluide, avec la création du compte, la gestion de la liste d'attente et l'authentification immédiate en une seule opération.

PrécédentPOST : Auth LoginSuivantGET : Auth User

Dernière mise à jour il y a 8 mois

Cet article vous a-t-il été utile ?

👤
💚