Zum Inhalt springen

Hinweise zum Backend

Ihr Backend besitzt den normalen WebAuthn-Zeremonie noch immer:

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

Das Plugin ist dazu konzipiert, die Frontend-Struktur Ihres bestehenden WebAuthn code zu erhalten.

  • Im Web leitet es zur echten Browser-WebAuthn API weiter.
  • Auf nativen Capacitor gibt es browserartige Anmeldeinformationen, die durch native Passwort-APIs unterstützt werden.
  • Ihr Backend kann den gleichen Herausforderungs- und Verifizierungs-Pipeline behalten.

Android-native 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 Der Wert kann sich immer noch von der Website-Quelle unterscheiden.
  • Wenn Ihr Server nur Ausnahmen außer https://your-domainAndroid-native-Aussagen können auch dann fehlschlagen, wenn der Passkey ansonsten gültig ist.

Ermöglichen Sie die erwartete Browser-Quelle und die erwartete Android-App-Quelle für denselben Relying-Party, wenn Sie native Android-Passkeys unterstützen.

Das gibt Ihnen:

  • Browserunterstützung für die Website
  • native Passkey-Unterstützung in der Capacitor-App
  • eine Passkey-Ökosystem für denselben Relying-Party-Domäne

Wenn Ihr Backend bereits Antworten zurückgibt 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,
});