Aller au contenu principal

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 faitExemple d'utilisation
Inscription d'utilisateurCréer de nouveaux comptes d'utilisateurFormulaire d'inscription
Connexion / DéconnexionAuthentifier les utilisateursPage de connexion
Gestion des mots de passeChanger et récupérer 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 par email / SMS / PushEnvoyer des codes d'activationVérifier le compte après l'inscription
OAuthConnexion 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éthodeCe 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 saveFunction afin 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