Introduction
L'authentification et l'enregistrement des utilisateurs simplifiés.
🎯 Que fait ce module ?
Le module AuthProvider gère tout ce qui concerne l'authentification des utilisateurs - connexion, inscription, gestion des mots de passe et maintien d'une connexion sécurisée.
Pensez-y comme au gardien de sécurité de votre application - il vérifie qui est qui, laisse entrer les utilisateurs autorisés et garde les intrus à l'extérieur.
📖 Explication Simple
Lorsque les utilisateurs souhaitent :
- 👤 Inscription d'utilisateur - Créer de nouveaux comptes utilisateurs
- 🔐 Authentification - Gestion de la connexion et des sessions
- 🔑 Changer le mot de passe
- 🚪 Se déconnecter en toute sécurité
- ✉️ Vérifier l'email avec des codes d'activation
- 🔒 Sécurité - Hachage des mots de passe, gestion des tokens
...ce module fait tout le travail lourd !
Le problème de construire la gestion de l'authentification des utilisateurs à partir de zéro :
❌ Pas de hachage de mot de passe
❌ Pas de validation
❌ Pas de vérification des doublons
❌ Pas de vérification d'email
❌ Comparaison de mots de passe non sécurisée
❌ Pas de gestion des sessions
❌ Pas de limitation de taux
Problèmes :
- 🔒 Non sécurisé - Pas de hachage de mot de passe, vulnérable aux attaques
- 📋 Pas de validation - Des données incorrectes peuvent être stockées
- 🔄 Pas d'authentification - Pas de sessions ou de tokens
- 💾 Pas de persistance - Données perdues au redémarrage
La solution AuthProvider :
✅ Bon - Gestion sécurisée de l'authentification
OneEntry effectue automatiquement :
- Hache le mot de passe de manière sécurisée
- Valide le format de l'email
- Vérifie les doublons
- Stocke les données utilisateur de manière persistante
- Fournit des tokens d'authentification
Comment ça fonctionne :
L'utilisateur s'inscrit → AuthProvider crée un compte → Envoie un code d'activation par email ✅
L'utilisateur se connecte → AuthProvider vérifie les identifiants → Renvoie des tokens d'accès ✅
✨ Fonctionnalités Clés
| Fonctionnalité | Ce qu'elle fait | Exemple d'utilisation |
|---|---|---|
| 🔐 Inscription d'utilisateur | Créer de nouveaux comptes utilisateurs | Formulaire d'inscription |
| 🚪 Connexion/Déconnexion | Authentifier les utilisateurs | Page de connexion |
| 🔑 Gestion des mots de passe | Changer et réinitialiser les mots de passe | Flux de mot de passe oublié |
| 🎫 Gestion des tokens | Garder les utilisateurs connectés en toute sécurité | Sessions de rafraîchissement automatique |
| ✉️ Vérification d'email | Envoyer des codes d'activation | Vérifier l'email après l'inscription |
| 🌍 Multi-langue | Supporter différentes langues | Applications internationales |
Flux d'Authentification
1. L'utilisateur entre son email + mot de passe
↓
2. auth() appelé
↓
3. OneEntry vérifie les identifiants
(Compare les mots de passe hachés)
↓
4. Renvoie le token d'authentification
(JWT ou token de session)
↓
5. Token stocké côté client
(localStorage, cookie, mémoire)
↓
6. Token envoyé avec les requêtes
(En-tête d'autorisation)
↓
7. Token validé par le serveur
(Vérifie l'expiration, la signature)
📋 Ce que vous devez savoir
Fournisseurs d'Authentification
OneEntry prend en charge différentes manières de s'authentifier :
- Email (le plus courant) - email/mot de passe traditionnel
- Téléphone (SMS) - authentification via numéro de téléphone
- Social (OAuth) - Google, Facebook, etc.
Chaque fournisseur a un marqueur (par exemple, email pour le fournisseur d'email).
Tokens Expliqués Simplement
Lorsqu'un utilisateur se connecte, il reçoit deux tokens :
-
Token d'Accès 🎫 - Comme un billet de cinéma (expire rapidement, ~15 minutes)
- Utilisé pour les requêtes API
- De courte durée pour des raisons de sécurité
-
Token de Rafraîchissement 🔄 - Comme un pass saisonnier (dure plus longtemps)
- Utilisé pour obtenir de nouveaux tokens d'accès
- Reste valide pendant des jours/semaines
Pourquoi deux tokens ? Sécurité ! Si quelqu'un vole le token d'accès, il expire rapidement.
Champs de Formulaire
Lors de l'inscription ou de la mise à jour des utilisateurs, vous envoyez des données de formulaire avec :
marker- Nom du champ (par exemple, "email", "mot de passe", "prénom")type- Type de données (par exemple, "string", "number", "image")value- La valeur réelle
📊 Tableau de Référence Rapide - Méthodes Courantes
| Méthode | Ce qu'elle fait | Quand l'utiliser |
|---|---|---|
| auth() | Vous permet d'authentifier les utilisateurs. | |
| changePassword() | Changement de mot de passe de l'utilisateur. | |
| checkCode() | Vérification du code d'activation de l'utilisateur. | |
| generateCode() | Obtention du code pour activer l'utilisateur. | |
| getActiveSessionsByMarker() | Obtention des données des sessions utilisateur actives. | |
| getAuthProviderByMarker() | Obtenir un objet fournisseur d'authentification par marqueur. | |
| getAuthProviders() | Obtenir tous les objets fournisseurs d'authentification. | |
| logout() | Déconnexion du compte utilisateur. | |
| logoutAll() | Déconnexion du compte utilisateur sur tous les appareils. | |
| oauthSignUp() | Inscription de l'utilisateur (autorisation) via OAUTH. | |
| refresh() | Mise à jour des tokens utilisateur. | |
| signUp() | Inscription de l'utilisateur. |
❓ Questions Fréquemment Posées (FAQ)
Dois-je gérer les tokens manuellement ?
Non ! Le SDK gère les tokens automatiquement. Il suffit d'appeler les méthodes et le SDK s'occupe de :
- Stocker les tokens
- Rafraîchir les tokens expirés
- Envoyer les tokens avec les requêtes API
Comment garder les utilisateurs connectés après un rafraîchissement de page ?
Configurez le SDK avec saveFunction :
const { AuthProvider } = defineOneEntry("your-url", {
token: "your-token",
auth: {
refreshToken: localStorage.getItem('refreshToken'),
saveFunction: (token) => localStorage.setItem('refreshToken', token)
}
});
Quelle est la différence entre login et email ?
login- peut être un email OU un nom d'utilisateur (selon ce que votre fournisseur d'authentification accepte)email- toujours une adresse email
Puis-je utiliser la connexion sociale (Google, Facebook) ?
Oui ! Configurez les fournisseurs OAuth dans l'administration de OneEntry, puis utilisez la méthode oauthSignUp().
Comment gérer les erreurs ?
Enveloppez les appels dans un try/catch :
try {
// Succès !
} catch (error) {
// Erreur !
}
Que se passe-t-il lorsque le token d'accès expire ?
Le SDK utilise automatiquement le token de rafraîchissement pour obtenir un nouveau token d'accès. Vos utilisateurs restent connectés sans interruption !
Est-ce sécurisé ?
Oui ! OneEntry utilise :
- 🔒 Chiffrement HTTPS
- 🎫 Tokens JWT (norme de l'industrie)
- 🔄 Tokens d'accès à courte durée de vie
- 🔐 Hachage sécurisé des mots de passe
- ✉️ Vérification d'email
Plus d'informations sur l'interface utilisateur du module https://doc.oneentry.cloud/docs/users/auth_provider
Définition du module AuthProvider
const { AuthProvider } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
🔗 Documentation Connexe
- Module Utilisateurs - Gérer les profils et les données des utilisateurs
- Module Formulaires - Créer des formulaires d'inscription/de connexion
- Module FormData - Gérer les soumissions de formulaires