Zum Inhalt springen

Hintergrundinformationen

GitHub

Ihr Backend besitzt den normalen WebAuthn-Zeremoniell noch immer:

  • Registrierungs- und Authentifizierungsanfragen generieren
  • Bewertung von Attestations- und Assertion-Antworten
  • Relying-Party-ID- und Challenge-Validierung durchführen
  • Sicherheitsdaten und Zähler werden auf die gleiche Weise gespeichert wie für einen Browser-Flow.

Das Plugin ist so konzipiert, dass es die Frontend-Struktur Ihres bestehenden WebAuthn code beibehält.

  • Auf der Web-Seite wird es auf das reale Browser-WebAuthn API weitergeleitet.
  • Auf nativen Capacitor wird es browserartige Authentifizierungsobjekte zurückgegeben, die durch native Passwort-APIs unterstützt werden.
  • Ihr Backend kann den gleichen Herausforderungs- und Verifizierungs-Pipeline beibehalten.

Die nativen Android-Passwörter sind nicht identisch mit einem Browser-Vertrauensmodell.

  • Digitale Asset Links ermöglichen es Android, dasselbe Relying-Party und das gleiche Kredit-Ökosystem wie Ihre Website teilt.
  • Die Literal clientDataJSON.origin Wert kann sich trotzdem von der Website-Ursprung unterscheiden.
  • Wenn Ihr Server nur Ausnahmen außerhalb von https://your-domain, Android-native-Ansprüche können auch dann fehlschlagen, wenn der Passkey ansonsten gültig ist.

Die erwartete Browser-Ursprung und die erwartete Android-App-Ursprung für denselben Relying-Party, wenn Sie native Android-Passkeys unterstützen.

Das gibt Ihnen:

  • Browser-Unterstützung für die Website
  • native Passkey-Unterstützung in der Capacitor App
  • Eines Passkey-Ökosystems für denselben Relying-Party-Domain

Wenn Ihr Backend bereits Antworten liefert PublicKeyCredentialCreationOptionsJSON und PublicKeyCredentialRequestOptionsJSON, können Sie auch den direkten Plugin API anstelle des Browser-Style-Shims verwenden:

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

Wenn Sie "Backend Notes" zur Planung von Authentifizierungs- und Kontoflüssen verwenden, verbinden Sie es mit Mit @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-Passkey für die native Fähigkeit in Mit @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-Passkey @capgo/capacitor-Social-Login for the native capability in Using @capgo/capacitor-passkey, Wenn Sie "Backend Notes" zur Planung von Authentifizierungs- und Kontoflüssen verwenden, verbinden Sie es mit @capgo/capacitor-Passkey für die native Fähigkeit. für die Implementierungsdetails in @capgo/capacitor-social-login, @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric, und Zwei-Faktor-Authentifizierung für die Implementierungsdetails in Zwei-Faktor-Authentifizierung.