Aller au contenu

Notes backend

GitHub

Votre backend gère toujours la cérémonie WebAuthn standard :

  • générer les challenges d'enregistrement et d'authentification
  • vérifier les réponses d'attestation et d'assertion
  • imposer la validation de l'ID de la relying-party et du challenge
  • stocker les credentials et les compteurs comme pour un flux navigateur

Le plugin est conçu pour préserver la structure front-end de votre code WebAuthn actuel.

  • Sur le web, il redirige vers l’API WebAuthn réel du navigateur.
  • Sur Capacitor natif, il renvoie des objets d'identifiants de type navigateur basés sur les API de passkeys natives.
  • Votre backend peut conserver le même challenge et le même pipeline de vérification.

Les passkeys natives d'Android ne sont pas identiques au modèle de confiance d'un navigateur.

  • Digital Asset Links permet à Android de partager le même écosystème de relying party et de credentials que votre site web.
  • La clientDataJSON.origin valeur littérale peut toujours différer de l'origine du site web.
  • Si votre serveur rejette tout ce qui n'est pas https://your-domain, les assertions natives Android peuvent échouer même si la passkey est valide par ailleurs.

Autorisez l'origine du navigateur attendue et l'origine de l'application Android pour la même relying party lorsque vous supportez les passkeys Android natives.

Cela vous permet de bénéficier de :

  • du support navigateur pour le site web
  • du support passkey natif dans l'application Capacitor
  • d'un écosystème de passkeys unique pour le même domaine de relying-party

Si votre backend renvoie déjà PublicKeyCredentialCreationOptionsJSON et PublicKeyCredentialRequestOptionsJSON, vous pouvez également utiliser le plugin direct API au lieu du shim de type navigateur :

import { CapacitorPasskey } from '@capgo/capacitor-passkey';
const registration = await CapacitorPasskey.createCredential({
origin: 'https://signin.example.com',
publicKey: registrationOptionsFromBackend,
});
const authentication = await CapacitorPasskey.getCredential({
origin: 'https://signin.example.com',
publicKey: requestOptionsFromBackend,
});

Si vous utilisez Notes backend pour planifier les flux d'authentification et de compte, le connecter à Utilisation de @capgo/capacitor-passkey pour la fonctionnalité native dans Utilisation de @capgo/capacitor-passkey, @capgo/capacitor-social-login pour les détails d'implémentation dans @capgo/capacitor-social-login @capgo/capacitor-passkey pour les détails d'implémentation dans @capgo/capacitor-passkey @capgo/capacitor-native-biometric pour les détails d'implémentation dans @capgo/capacitor-native-biometric, et Authentification à deux facteurs pour les détails d'implémentation de l'authentification à deux facteurs.