Passer à la navigation

Notes de backend

Votre serveur conserve toujours la cérémonie WebAuthn normale :

  • Générer des défis d'enregistrement et d'authentification
  • Vérifier les réponses d'attestation et d'assertion
  • Exiger la validation de l'ID et des défis de la partie dépendante
  • Stockez les informations d'identification et les compteurs de la même manière que pour un flux de navigateur

Le plugin est conçu pour conserver la forme front-end de votre WebAuthn existant code.

  • Sur le web, il redirige vers le vrai WebAuthn API du navigateur.
  • Sur le Capacitor, il retourne des objets de credenciaux de navigateur similaires basés sur les API de passkey natives.
  • Votre serveur peut conserver le même pipeline de défi et de vérification.

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

  • Les liens d'actif numérique permettent à Android de partager le même partenaire de confiance et l'écosystème de credenciaux que votre site web.
  • La valeur littérale peut toujours différer de l'origine du site web. clientDataJSON.origin Si votre serveur rejette tout excepté
  • Les déclarations natives d'Android peuvent échouer même lorsque la passkey est autrement valide. https://your-domainRègle de serveur recommandée
La valeur littérale

Autorisez l'origine du navigateur attendue et l'origine de l'application Android attendue pour le même partenaire de confiance lorsque vous supportez les clés de passe natives Android.

Cela vous donne :

  • le support du navigateur pour le site Web
  • le support des clés de passe natives dans l'application Capacitor
  • un écosystème de clés de passe unique pour le même domaine de partenaire de confiance

Si vous avez besoin d'appels JSON-sûrs directs

Si vous avez besoin d'appels JSON-sûrs directs

Si votre serveur de backend renvoie déjà PublicKeyCredentialCreationOptionsJSON et PublicKeyCredentialRequestOptionsJSONvous pouvez également utiliser le plugin direct API au lieu du shim de style 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,
});