Skip to Content

Magic Link (E-mail Passwordless)

Les Magic Links permettent aux utilisateurs de s’authentifier simplement en cliquant sur un lien reçu par e-mail — aucun mot de passe requis. Cette approche réduit la friction à la connexion, élimine les problèmes liés aux mots de passe oubliés et améliore la sécurité en excluant la compromission des identifiants.


Comment ça Fonctionne

  1. L’utilisateur saisit son adresse e-mail
  2. Ton app envoie une requête à Auris pour générer un magic link
  3. Auris envoie un e-mail à l’utilisateur avec un lien sécurisé à usage unique
  4. L’utilisateur clique sur le lien (valide pendant un temps configurable, par défaut 15 minutes)
  5. Auris vérifie le token et retourne un access token et un ID token à ton app
  6. L’utilisateur est authentifié

Configuration dans la Console

Va dans Console → Paramètres → Authentification → Méthodes Passwordless et active Magic Link.

Configure l’URL de Redirection

Saisis l’URL vers laquelle Auris enverra l’utilisateur après la vérification du magic link. Cette URL doit être dans la liste des URL de redirection autorisées de l’application :

  • Développement : http://localhost:3000/api/auth/callback
  • Production : https://votreapp.com/api/auth/callback

Définis l’Expiration du Token

Configure combien de temps un magic link reste valide :

ParamètreDéfautPlage Recommandée
Expiration du Lien15 minutes10–30 minutes

Configure le Comportement d’Inscription Automatique

Choisis ce qui se passe quand quelqu’un soumet une adresse e-mail inconnue :

ScénarioComportement
E-mail connuL’utilisateur est authentifié normalement
E-mail inconnu + inscription activéeUn nouveau compte est créé
E-mail inconnu + inscription désactivéeUne erreur est retournée
E-mail non vérifiéLe lien sert aussi de vérification d’e-mail

Implémentation

import { AurisClient } from '@auris/js' const auris = new AurisClient({ domain: 'auth.votredomaine.com', clientId: 'votre-client-id', }) // Étape 1 : Envoie le magic link async function sendMagicLink(email) { const { error } = await auris.sendMagicLink({ email }) if (error) { console.error('Envoi du magic link échoué :', error.message) } else { console.log('Magic link envoyé ! Vérifie ton e-mail.') } } // Étape 2 : Gère le callback (quand l'utilisateur clique le lien) async function handleMagicLinkCallback() { const { tokens, user, error } = await auris.handleMagicLinkCallback() if (error) { console.error('Vérification échouée :', error.message) return } console.log('Utilisateur authentifié :', user) window.location.href = '/dashboard' }

Guides Associés