Passer au contenu

Notes de backend

GitHub

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

  • Générez des défis de registration et d'authentification
  • Vérifiez les réponses d'attestation et d'assertion
  • Appliquez la validation de l'ID et du défi de partie dépendante
  • stockez les informations d'identification et les comptes à la même manière que vous le feriez pour un flux de navigateur

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 le Capacitor natif, il retourne des objets de données de clés de navigation similaires à un navigateur, basés sur les API de clés de navigation natives.
  • Votre backend peut conserver le même pipeline de défi et de vérification.

Les clés de navigation 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 l'écosystème de données de clés que votre site web.
  • Le mot « literal » clientDataJSON.origin La 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 la clé de passe est autrement valide.

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 :

  • la prise en charge du navigateur pour le site web
  • la prise en charge de la clé de passe native dans l'application Capacitor
  • un écosystème de clés de passe unique pour le même domaine de partenaire de confiance

If 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,
});

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