Passer au contenu

Notes de backend

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
  • Appliquez la validation de l'ID de partie dépendante et du défi
  • 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.

  • En ligne, il redirige vers le vrai navigateur WebAuthn API.
  • Sur les appareils natifs Capacitor, il renvoie des objets d'informations d'identification similaires à ceux d'un navigateur, basés sur les API de clés de passe native.
  • Votre serveur peut conserver le même pipeline de défi et de vérification.

Les clés de passe Android natives 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 l'écosystème de clés de passe que votre site web.
  • Le mot « littéral » 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.