Aller au contenu principal

Introduction

🎯 Que fait ce module ?​

Le module Users vous permet de gérer les utilisateurs enregistrés. Dans Platform OneEntry, il existe les outils nécessaires pour travailler avec les utilisateurs enregistrés.


📖 Explication Simple​

Chaque application a besoin d'une gestion des utilisateurs :

  • 📝 Profils Utilisateurs - GĂ©rer les informations des utilisateurs
  • đź’ľ DonnĂ©es Utilisateur PersonnalisĂ©es - Stocker des donnĂ©es spĂ©cifiques Ă  l'application (objet d'Ă©tat)
  • 🔍 Recherche d'Utilisateurs - Rechercher et filtrer les utilisateurs

✨ Concepts Clés​

Qu'est-ce qu'un Utilisateur ?​

Un Utilisateur est un compte enregistré dans votre application :

  • Informations de Base - Nom, email, tĂ©lĂ©phone
  • Authentification - Stockage sĂ©curisĂ© des mots de passe
  • Objet d'État - DonnĂ©es personnalisĂ©es de l'application
  • Horodatages - Date d'inscription, dernier login
  • Statut - Actif, inactif, bloquĂ©
  • Permissions - RĂ´les et niveaux d'accès des utilisateurs

Structure de l'Utilisateur​

Chaque utilisateur a cette structure :

{
id: 8, // ID de l'utilisateur
identifier: 'test@test.ru', // Identifiant de l'utilisateur (email/login)
authProviderIdentifier: 'email', // Type de fournisseur d'authentification
formIdentifier: 'reg', // Identifiant du formulaire d'inscription
formData: [ // Données du profil utilisateur
{ marker: 'name_reg', type: 'string', value: 'Ivan' },
{ marker: 'phone_reg', type: 'string', value: '+19258382556' },
],
groups: [1], // Groupes d'utilisateurs pour les permissions
state: {}, // Données personnalisées de l'application
moduleFormConfigs: [], // Configurations de formulaire supplémentaires
total: "1" // Nombre total (pour la pagination)
}

Champs Clés :

  • id - Identifiant unique de l'utilisateur
  • identifier - Login de l'utilisateur (email, tĂ©lĂ©phone, nom d'utilisateur)
  • authProviderIdentifier - MĂ©thode d'authentification utilisĂ©e (email, tĂ©lĂ©phone, etc.)
  • formData - Tableau de champs de formulaire avec les informations du profil de l'utilisateur
  • groups - Tableau d'IDs de groupes pour le contrĂ´le d'accès
  • state - Objet JSON personnalisĂ© pour les donnĂ©es spĂ©cifiques Ă  l'application

Obtenir un utilisateur avec des données d'état personnalisées​

Avantages :

  • đź”’ SĂ©curisĂ© - Hachage des mots de passe, authentification sĂ©curisĂ©e
  • đź“‹ ValidĂ© - Validation des emails et des donnĂ©es
  • 🔄 AuthentifiĂ© - Sessions basĂ©es sur des tokens
  • đź’ľ Persistant - DonnĂ©es stockĂ©es dans la base de donnĂ©es

Objet d'État de l'Utilisateur​

Vous pouvez stocker les données nécessaires au fonctionnement de votre application dans un objet d'état. Lorsque vous modifiez l'utilisateur, ajoutez les données nécessaires à l'état. Lorsque les données de l'utilisateur sont ensuite reçues, elles contiendront un objet d'état.

Un exemple dans lequel nous ajoutons des informations à l'utilisateur sur le nombre de commandes qu'il a passées. Ajoutez un champ "orderCount" avec la valeur à l'objet d'état.

L'objet d'état est un stockage de données personnalisé par utilisateur :

Cas d'UtilisationExemple d'ÉtatDescription
E-commerce{ orderCount: 5, totalSpent: 499.99 }Suivre l'historique des achats
Site de Contenu{ articlesRead: 25, bookmarks: [1,2,3] }Suivre la consommation de contenu
Application Sociale{ postsCount: 42, followers: 150 }Suivre les métriques sociales
Jeux{ level: 15, score: 9500, achievements: [...] }Suivre la progression du jeu
SaaS{ plan: 'premium', usage: 75 }Suivre les données d'abonnement

Flux de Travail de l'Utilisateur​

1. L'utilisateur remplit le formulaire d'inscription
(Email, mot de passe, nom)
↓
2. createUser() appelé
(OneEntry valide et hache le mot de passe)
↓
3. Compte utilisateur créé
(Stocké dans la base de données)
↓
4. L'utilisateur se connecte
(authenticateUser() vérifie les identifiants)
↓
5. Token d'authentification retourné
(Utilisé pour les requêtes suivantes)
↓
6. L'application met à jour l'état de l'utilisateur
(Données personnalisées comme orderCount)
↓
7. Données de l'utilisateur récupérées au besoin
(getUserById() avec l'état actuel)

Pourquoi Utiliser le Module Utilisateurs ?​

AvantageDescription
Authentification SécuriséeHachage des mots de passe, gestion des tokens
Gestion des UtilisateursLire, mettre Ă  jour, supprimer des utilisateurs
Stockage de Données PersonnaliséesObjet d'état pour les données spécifiques à l'application
Validation des EmailsVérification automatique du format des emails
Prévention des DoublonsEmpêche l'enregistrement d'emails en double
Gestion des SessionsAuthentification basée sur des tokens

📋 Ce Que Vous Devez Savoir​

Fournisseur d'Autorisation​

Les utilisateurs dans OneEntry sont gérés par un système de fournisseur d'autorisation qui gère les mécanismes d'inscription et d'authentification.

Points clés :

  • Les utilisateurs s'inscrivent via des formulaires configurĂ©s dans le panneau d'administration OneEntry
  • Chaque utilisateur est associĂ© Ă  un fournisseur d'authentification (email, tĂ©lĂ©phone, etc.)
  • Les donnĂ©es des utilisateurs sont stockĂ©es dans des champs de formulaire dĂ©finis par formData
  • Des mĂ©tadonnĂ©es supplĂ©mentaires sont stockĂ©es dans l'objet state

L'Objet d'État de l'Utilisateur est Flexible​

L'objet d'état peut stocker n'importe quelles données JSON personnalisées

Meilleures pratiques :

  • Stocker uniquement des donnĂ©es spĂ©cifiques Ă  l'application
  • Garder l'objet d'Ă©tat organisĂ© avec des objets imbriquĂ©s
  • Mettre Ă  jour l'ensemble de l'objet d'Ă©tat (rĂ©pandre les donnĂ©es existantes)
  • Ne pas stocker de donnĂ©es sensibles dans l'Ă©tat

Sécurité des Mots de Passe​

OneEntry gère automatiquement la sécurité des mots de passe

Votre responsabilité :

  • Appliquer les exigences de mot de passe (longueur, complexitĂ©)
  • Valider le mot de passe cĂ´tĂ© client avant l'envoi
  • Ne jamais enregistrer les mots de passe
  • Utiliser HTTPS pour toutes les requĂŞtes d'authentification

Gestion des Tokens d'Authentification​

Stockez et utilisez les tokens d'authentification de manière sécurisée

Meilleures pratiques pour les tokens :

  • Stocker dans des cookies HTTP uniquement lorsque cela est possible
  • Utiliser des temps d'expiration courts (1-2 heures)
  • Mettre en Ĺ“uvre des tokens de rafraĂ®chissement pour les longues sessions
  • Effacer le token lors de la dĂ©connexion
  • Ne jamais exposer les tokens dans les URLs

Validation de l'Inscription des Utilisateurs​

Validez toujours les entrées des utilisateurs avant l'inscription

Mise à Jour de l'État de l'Utilisateur en Toute Sécurité​

Préservez toujours l'état existant lors de la mise à jour :

// ❌ Mauvais - Écrase l'ensemble de l'état
const userstate = {
orderCount: 1
}

// ✅ Bon - Préserve l'état existant
const userstate = {
...user.state, // Répandre l'état existant
orderCount: (user.state.orderCount || 0) + 1 // Mettre à jour un champ spécifique
}

Prévention des Emails Doublons​

OneEntry empĂŞche automatiquement l'enregistrement d'emails en double

Meilleure pratique : Vérifiez le statut d'erreur et affichez un message convivial.

Pagination des Utilisateurs​

Pour de grandes bases d'utilisateurs, effectuez toujours une pagination lors de la récupération de plusieurs utilisateurs


💡 Notes Importantes​

Autorisation Requise​

La plupart des méthodes utilisateur nécessitent une autorisation via le module AuthProvider. Assurez-vous d'authentifier l'utilisateur d'abord avant d'appeler les méthodes de gestion des utilisateurs.


Données du Formulaire Utilisateur​

Les données des utilisateurs sont structurées selon les formulaires configurés dans le panneau d'administration OneEntry :

  • Chaque utilisateur a un formIdentifier qui fait rĂ©fĂ©rence au formulaire d'inscription utilisĂ©
  • Les donnĂ©es des utilisateurs sont stockĂ©es dans le tableau formData avec des marqueurs, des types et des valeurs
  • Les types de champs pris en charge incluent : string, integer, float, date, dateTime, time, text, textWithHeader, image, groupOfImages, file, radioButton, list, entity, timeInterval

Directives pour l'Objet d'État​

Meilleures pratiques pour l'objet d'état :

  • Stocker uniquement des donnĂ©es spĂ©cifiques Ă  l'application
  • Garder l'Ă©tat organisĂ© avec des objets imbriquĂ©s
  • Mettre Ă  jour l'ensemble de l'Ă©tat (rĂ©pandre les donnĂ©es existantes)
  • Ne pas stocker de donnĂ©es sensibles (mots de passe, tokens)
  • Ne pas stocker de grandes donnĂ©es binaires
  • Utiliser des conventions de nommage cohĂ©rentes

Notifications Push​

Utilisez addFCMToken() et deleteFCMToken() pour gérer les tokens de Firebase Cloud Messaging pour envoyer des notifications push aux utilisateurs.


Données de Notification​

Lors de la mise Ă  jour des utilisateurs, vous pouvez fournir un objet notificationData contenant :

  • email - Adresse email pour les notifications
  • phonePush - Tableau de numĂ©ros de tĂ©lĂ©phone pour les notifications push
  • phoneSMS - NumĂ©ro de tĂ©lĂ©phone pour les notifications SMS

📊 Tableau de Référence Rapide​

MéthodeDescriptionCas d'Utilisation
getUser()Obtenir les données de l'utilisateur autoriséRécupérer le profil utilisateur actuel
updateUser()Mettre à jour les informations de l'utilisateurMises à jour de profil, changements d'état
archiveUser()Archiver le compte utilisateurSuppression douce du compte utilisateur
deleteUser()Supprimer définitivement l'utilisateurSuppression définitive du compte utilisateur
addFCMToken()Ajouter un token FCM pour les notifications pushActiver les notifications push
deleteFCMToken()Supprimer le token FCMDésactiver les notifications push

❓ Questions Fréquemment Posées (FAQ)​

Qu'est-ce que l'objet d'état utilisateur et comment devrais-je l'utiliser ?​

L'objet d'état est un stockage JSON flexible pour les données utilisateur spécifiques à l'application. Utilisez-le pour suivre des métriques personnalisées comme le nombre de commandes, les préférences ou la progression. Répandez toujours l'état existant lors de la mise à jour pour éviter d'écraser d'autres données.


Comment puis-je mettre à jour les informations du profil utilisateur ?​

Utilisez updateUser() pour modifier les données du profil utilisateur. Vous pouvez mettre à jour les champs de données de formulaire, les paramètres de notification et l'objet d'état. N'oubliez pas d'authentifier d'abord l'utilisateur en utilisant le module AuthProvider.


Quelle est la différence entre archiveUser() et deleteUser() ?​

archiveUser() est une suppression douce qui cache l'utilisateur mais préserve les données (peut être restauré). deleteUser() supprime définitivement l'utilisateur et toutes les données associées (ne peut pas être annulé). Utilisez l'archivage à moins que vous n'ayez besoin d'une suppression complète des données.


Comment gérer les notifications push pour les utilisateurs ?​

Utilisez addFCMToken() pour enregistrer un token Firebase Cloud Messaging pour l'utilisateur. Cela permet d'envoyer des notifications push à leurs appareils. Utilisez deleteFCMToken() lorsqu'ils se déconnectent ou désactivent les notifications.


Puis-je stocker des données sensibles dans l'objet d'état utilisateur ?​

Non ! Ne stockez jamais de mots de passe, tokens, numéros de carte de crédit ou autres données sensibles dans l'objet d'état. Ce n'est pas crypté spécifiquement pour les données sensibles. Utilisez des systèmes sécurisés et dédiés pour les informations sensibles.


Comment puis-je récupérer les données utilisateur après l'inscription ?​

Après une inscription et une authentification réussies, utilisez getUser() pour récupérer les données de l'utilisateur authentifié, y compris ses informations de profil et son objet d'état personnalisé.


🎓 Meilleures Pratiques​

  • Validez les entrĂ©es avant l'inscription - VĂ©rifiez le format de l'email, la force du mot de passe
  • Utilisez HTTPS pour l'authentification - Chiffrez toutes les requĂŞtes de connexion
  • Mettez en Ĺ“uvre des exigences de mot de passe - Minimum 8 caractères, casse mixte, chiffres
  • Stockez les tokens en toute sĂ©curitĂ© - Cookies HTTP uniquement ou stockage sĂ©curisĂ©
  • PrĂ©servez l'Ă©tat existant - RĂ©pandez les donnĂ©es existantes lors de la mise Ă  jour de l'Ă©tat
  • GĂ©rez les emails en double - Capturez les erreurs 409 et affichez un message convivial
  • Mettez en Ĺ“uvre la dĂ©connexion - Effacez les tokens et les donnĂ©es de session
  • Mettez en cache les donnĂ©es utilisateur - RĂ©duisez les appels API pour les utilisateurs frĂ©quemment accĂ©dĂ©s

Plus d'informations sur la gestion des utilisateurs dans le panneau d'administration OneEntry : https://doc.oneentry.cloudhttps://doc.oneentry.cloud/docs/category/users


Définition du module Users​


const { Users } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);


🔗 Documentation Connexe​