Introduction
L'authentification et l'enregistrement des utilisateurs simplifiés.
Plus d'informations sur l'interface utilisateur du module https://doc.oneentry.cloud/docs/users/auth_provider
🎯 Que fait ce module ?
Le module AuthProvider gère tout ce qui concerne l'authentification des utilisateurs : inscription, connexion, changements de mot de passe, codes d'activation par email/SMS, OAuth, et maintien de la session active avec des tokens d'accès et de rafraîchissement. Le SDK prend en charge plusieurs fournisseurs d'authentification (login + mot de passe et OAuth).
🚀 Démarrage rapide
Initialisez le module à partir de defineOneEntry :
const { AuthProvider } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Authentifiez un utilisateur avec le fournisseur email et lisez les tokens retournés :
// Authenticate against the "email" auth provider.
const result = await AuthProvider.auth("email", {
authData: [
{ marker: "login", value: "example@oneentry.cloud" },
{ marker: "password", value: "12345" },
],
});
// On success the SDK stores the tokens automatically.
console.log(result.accessToken, result.refreshToken);
Le premier argument est toujours le marqueur du fournisseur (par exemple, "email"). Après un auth() réussi, le SDK conserve les tokens et les rafraîchit pour vous.
✨ Concepts clés
| Fonctionnalité | Ce qu'elle fait | Exemple d'utilisation |
|---|---|---|
| Inscription d'utilisateur | Créer de nouveaux comptes d'utilisateur | Formulaire d'inscription |
| Connexion / Déconnexion | Authentifier les utilisateurs | Page de connexion |
| Gestion des mots de passe | Changer et récupérer 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 par email / SMS / Push | Envoyer des codes d'activation | Vérifier le compte après l'inscription |
| OAuth | Connexion sociale (Google, etc.) | "Se connecter avec Google" |
Flux d'authentification
1. User enters email + password
↓
2. auth() is called with the provider marker
↓
3. OneEntry verifies credentials and returns access + refresh tokens
↓
4. The SDK stores the tokens and sends the access token with requests
↓
5. When the access token expires, the SDK uses the refresh token automatically
📋 Ce que vous devez savoir
Fournisseurs d'authentification
OneEntry prend en charge différentes manières d'authentifier, chacune identifiée par un marqueur :
- Email (
email) - connexion traditionnelle + mot de passe - OAuth - Google, Facebook, etc.
Les codes d'activation peuvent être livrés par différents canaux (email, SMS ou push) via l'objet notificationData que vous passez à signUp() — phoneSMS et phonePush sont des canaux de livraison pour ces codes, et non des fournisseurs de connexion autonomes.
Tokens
Un auth() réussi retourne deux tokens :
- Token d'accès - à durée de vie courte, envoyé avec les requêtes API. Sa durée de vie est configurée dans le panneau d'administration.
- Token de rafraîchissement - à durée de vie longue, utilisé pour obtenir de nouveaux tokens d'accès.
Le SDK stocke et rafraîchit les tokens pour vous. Pour maintenir une session à travers les rechargements, configurez saveFunction (voir la FAQ ci-dessous).
Champs de formulaire
Lors de l'inscription des utilisateurs, vous envoyez des entrées de données de formulaire avec :
marker- nom du champ (par exemple,email_reg,password_reg,last_name)type- type de données (par exemple,string,image)value- la valeur réelle
📊 Tableau de référence rapide - Méthodes courantes
| Méthode | Ce qu'elle fait |
|---|---|
| activateUser() | Activation de l'utilisateur avec un code de service. |
| auth() | Authentifier un utilisateur. |
| changePassword() | Changement de mot de passe de l'utilisateur. |
| checkCode() | Vérifier le code d'activation de l'utilisateur. |
| generateCode() | Obtenir un code pour activer l'utilisateur. |
| getActiveSessionsByMarker() | Obtenir les sessions utilisateur actives. |
| getAuthProviderByMarker() | Obtenir un objet de fournisseur d'authentification par marqueur. |
| getAuthProviders() | Obtenir tous les objets de fournisseurs d'authentification. |
| logout() 🔐 | Se déconnecter du compte actuel. |
| logoutAll() 🔐 | Se déconnecter sur tous les appareils. |
| oauth() | S'inscrire / s'authentifier via OAuth. |
| refresh() | Rafraîchir les tokens utilisateur. |
| signUp() | Inscription d'utilisateur. |
🔐 marque les méthodes qui nécessitent une session utilisateur autorisée.
❓ Questions fréquentes (FAQ)
Dois-je gérer les tokens manuellement ?
Non. Le SDK stocke les tokens, rafraîchit ceux qui ont expiré et envoie le token d'accès avec chaque requête automatiquement.
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 oauth().
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, de sorte que les utilisateurs restent connectés.
🎓 Meilleures pratiques
- Passez toujours le marqueur du fournisseur comme premier argument (par exemple,
"email"). - Conservez le token de rafraîchissement avec
saveFunctionafin que les sessions survivent aux rechargements. - Enveloppez les appels d'authentification dans try/catch et inspectez l'objet d'erreur retourné.
- Utilisez
logout()/logoutAll()pour invalider les sessions sur le serveur, et pas seulement côté client.
🔗 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