Remarques sur le backend
Copiez un prompt de configuration avec les étapes d'installation et la guide Markdown complet pour ce plugin.
Votre backend possède toujours la cérémonie WebAuthn normale :
- Générer des défis de registration et d'authentification
- Vérifier les réponses d'attestation et d'assertion
- Valider l'ID et les défis de la partie dépendante
- stockez les informations de connexion et les compteurs de la même manière que vous le feriez pour un flux de navigateur
Ce qui reste le même
Section intitulée « Ce qui reste le même »Le plugin est conçu pour préserver la forme front-end de votre WebAuthn existant code.
- Sur le web, il redirige vers le vrai navigateur WebAuthn API.
- Sur native Capacitor, il retourne des objets de connexion de type navigateur similaires, basés sur les API de passkey natives.
- Votre backend peut conserver la même pipeline de défi et de vérification.
Ce qui change sur Android
Section intitulée « Ce qui change sur Android »Les passkeys natives d'Android ne sont pas identiques au modèle de confiance d'un navigateur.
- Les liens d'actif numérique permettent à Android de partager le même partenaire de confiance et écosystème de crédit que votre site web.
- La littérale
clientDataJSON.originLa valeur peut toujours différer de l'origine du site web. - Si votre serveur rejette uniquement
https://your-domainLes assertions natives Android peuvent échouer même lorsque le code passeport est valide.
Règle de backend recommandée
Section intitulée « Règle de backend recommandée »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 passeports Android natifs.
Cela vous donne :
- Support du navigateur pour le site web
- Support des passeports natifs dans l'application Capacitor
- Un écosystème de passeports unique pour le même domaine de partenaire de confiance
Si vous avez besoin d'appels JSON-sûrs directs
Section intitulée « Si vous avez besoin d'appels JSON-sûrs directs »Si votre backend retourne déjà PublicKeyCredentialCreationOptionsJSON et PublicKeyCredentialRequestOptionsJSON, vous 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,});