Aller au contenu principal

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 faitExemple d'utilisation
🔐 Inscription d'utilisateurCréer de nouveaux comptes utilisateursFormulaire d'inscription
🚪 Connexion/DéconnexionAuthentifier les utilisateursPage de connexion
🔑 Gestion des mots de passeChanger et réinitialiser les mots de passeFlux de mot de passe oublié
🎫 Gestion des tokensGarder les utilisateurs connectés en toute sécuritéSessions de rafraîchissement automatique
✉️ Vérification d'emailEnvoyer des codes d'activationVérifier l'email après l'inscription
🌍 Multi-langueSupporter différentes languesApplications 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éthodeCe qu'elle faitQuand 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