Passkeys / WebAuthn

Advanced Ecosystem 🔴 Senior

Definition

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.

Termes lies

#security#authentication