Notes sur le backend
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Votre backend possède 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
- stocker les informations de connexion et les comptes comme 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 WebAuthn de navigateur API.
- Sur les appareils natifs Capacitor, il retourne des objets de crédentials similaires à ceux d'un navigateur, basés sur les API de passkey natives.
- Votre serveur peut conserver le même pipeline de challenge et de vérification.
Quels changements sur Android
Section intitulée “Quels changements 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édentials que votre site web.
- La valeur littérale
clientDataJSON.originLa valeur peut toujours différer de l'origine du site web. - Si votre serveur rejette tout excepté
https://your-domainLes assertions natives d'Android peuvent échouer même lorsque la passkey est valide.
Règle de serveur recommandée
Section intitulée “Règle de serveur 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 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'Capacitor application
- 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 directsSi votre serveur backend retourne 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,});