Passer au contenu

Notes de l'arrière-plan

GitHub

Votre backend possède toujours la cérémonie WebAuthn normale :

  • Générez des défis d'enregistrement et d'authentification
  • Vérifiez les réponses d'attestation et d'assertion
  • valider l'identifiant et la validation de la partie confiante
  • store credentials and counters the same way you would for a browser flow

Le plugin est conçu pour préserver la forme frontale de votre flux WebAuthn existant code.

  • Sur le web, il redirige vers le vrai navigateur WebAuthn API.
  • Sur native Capacitor, il retourne des objets de crédentials similaires à ceux d'un navigateur, basés sur les APIs de passkey natives.
  • Votre serveur back-end peut conserver le même pipeline de défi et de vérification.

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

  • Les liens d'actifs numériques permettent à Android de partager le même partenaire de confiance et écosystème de crédentials que votre site web.
  • The literal clientDataJSON.origin La valeur littérale 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 la clé de passe est valide.
Section titled “Recommended backend rule”

Permettre l'origine du navigateur attendue et l'origine de l'application Android attendue pour le même partenaire de confiance lors de la prise en charge des clés passkeys Android natives.

Cela vous donne :

  • support du navigateur pour le site web
  • le support de passkey natif dans l'application Capacitor
  • Support de la clé de passe native dans l'application __CAPGO_KEEP_0__

If you need direct JSON-safe calls

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

Votre backend renvoie 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,
});

Si vous utilisez Notes Backend pour planifier les flux d'authentification et de comptes, connectez-l’avec En utilisant @capgo/capacitor-passkey pour la capacité native en utilisant En @capgo/capacitor-passkey, @capgo/capacitor-connexion-social détails d'implémentation pour @capgo/capacitor-connexion-social @capgo/capacitor-passkey détails d'implémentation pour @capgo/capacitor-passkey @capgo/capacitor-native-biometrique détails d'implémentation pour @capgo/capacitor-authentification-native-biometrique, et Authentification à deux facteurs détails d'implémentation pour Authentification à deux facteurs