Réinitialisation du mot de passe et authentification par lien magique
Ajoutez des liens magiques sans mot de passe ainsi qu’un processus sécurisé de réinitialisation du mot de passe à votre authentification Supabase, y compris les étapes de redirection et d’échange de jeton.
Réinitialisation du mot de passe et authentification par lien magique est une leçon Supabase Backend as a Service gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Supabase Backend as a Service, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Supabase Backend as a Service comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Beyond Passwords
Supabase supports passwordless sign-in via magic links and a built-in password reset flow. Both rely on emailing a secure link to the user.
How Magic Links Work
The user enters an email, Supabase emails a one-time link, and clicking it signs them in, no password needed.
- Link contains a single-use token
- Token is exchanged for a session
Sending a Magic Link
Call signInWithOtp with the email and a redirect URL.
const { error } = await supabase.auth.signInWithOtp({
email: 'user@example.com',
options: { emailRedirectTo: 'https://app.example.com/welcome' }
});Configuring Redirect URLs
In the dashboard under Authentication > URL Configuration, allow-list your redirect URLs. Links to non-listed URLs are rejected for security.
Completing the Sign-In
When the user returns, Supabase detects the token in the URL and establishes the session automatically with detectSessionInUrl enabled.
const { data } = await supabase.auth.getSession();
console.log(data.session ? 'Signed in' : 'No session');Starting a Password Reset
Trigger a reset email with resetPasswordForEmail. The link sends the user to a page where they set a new password.
await supabase.auth.resetPasswordForEmail(
'user@example.com',
{ redirectTo: 'https://app.example.com/update-password' }
);Setting the New Password
On the redirect page, the user is in a temporary recovery session. Update the password with updateUser.
const { error } = await supabase.auth.updateUser({
password: 'a-strong-new-password'
});Validating Password Strength
Enforce a minimum standard before submitting to reduce weak credentials.
function strong(pw) {
return pw.length >= 8 && /[0-9]/.test(pw) && /[A-Za-z]/.test(pw);
}
console.log(strong('abc12345'));Token Expiry
Magic links and reset tokens are short-lived and single use. Expired links must trigger a fresh request, so always handle the expiry error gracefully.
Customizing Email Templates
Under Authentication > Email Templates you can brand the magic link and recovery emails so they match your product.
Putting It Together
Magic links remove password friction, and the reset flow gives users a safe recovery path. Both depend on allow-listed redirects and short-lived tokens.
Quick Check
Test your understanding of magic links and resets.
Recap
You added magic link sign-in with signInWithOtp, built a password reset flow with resetPasswordForEmail and updateUser, and learned why allow-listed redirects and short-lived tokens keep it secure.
Questions Fréquemment Posées
La leçon « Réinitialisation du mot de passe et authentification par lien magique » est-elle gratuite ?
Oui — le texte complet de « Réinitialisation du mot de passe et authentification par lien magique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Supabase Backend as a Service, passe à CoddyKit PRO. Le cours Supabase Backend as a Service comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Réinitialisation du mot de passe et authentification par lien magique » ?
Ajoutez des liens magiques sans mot de passe ainsi qu’un processus sécurisé de réinitialisation du mot de passe à votre authentification Supabase, y compris les étapes de redirection et d’échange de… Tu pratiques Supabase Backend as a Service avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Supabase Backend as a Service ?
Aucune expérience préalable n'est requise. Supabase Backend as a Service sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Réinitialisation du mot de passe et authentification par lien magique » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Supabase Backend as a Service ?
Oui. Chaque leçon Supabase Backend as a Service inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Inscription des utilisateurs par e-mail et mot de passe
- Connexions sociales (fournisseurs OAuth)
- Gestion des sessions et des profils utilisateurs
- Réinitialisation du mot de passe et authentification par lien magique