Passkeys / WebAuthn
Advanced Ecosystem 🔴 SeniorDefinition
Standard d'authentification sans mot de passe utilisant la cryptographie asymétrique. La clé privée reste sur l'appareil de l'utilisateur, seule la clé publique est stockée côté serveur.
Analogie
Un verrou qui ne reconnaît que votre empreinte digitale : impossible à copier, rien à retenir.
Exemple de code
const credential = await navigator.credentials.create({
publicKey: {
challenge: serverChallenge,
rp: { name: 'MyApp' },
user: { id: userId, name: email, displayName: name },
pubKeyCredParams: [{ alg: -7, type: 'public-key' }],
}
});
Cas d'usage
Remplacer les mots de passe par une authentification résistante au phishing sur mobile et desktop.
Anti-pattern
Ne pas proposer de méthode de récupération quand l'utilisateur perd son appareil avec les passkeys.