Zum Inhalt springen

Backend-Notizen

GitHub

Ihr Backend besitzt noch immer die normale WebAuthn-Zeremonie:

  • Registrierungs- und Authentifizierungsanforderungen generieren
  • Attestations- und Assertion-Antworten überprüfen
  • Relying-Party-ID- und Herausforderungsvalidierung durchführen
  • Speichert Anmeldeinformationen und Zähler auf die gleiche Weise wie für einen Browser-Flow

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

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

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

  • Digitale Asset Links ermöglichen es Android, dasselbe Relying-Party und Anmeldeinformationssystem wie Ihre Website teilt.
  • Die wörtliche clientDataJSON.origin Der Wert kann sich trotzdem von der Website-Quelle unterscheiden.
  • Wenn Ihr Server nur Ausnahmen außerhalb von https://your-domain, können auch Android-native Behauptungen fehlschlagen, selbst 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-Domain

If Ihr Backend bereits Antworten gibt PublicKeyCredentialCreationOptionsJSON und PublicKeyCredentialRequestOptionsJSON, Sie können auch den direkten Plugin API anstelle des Browser-Style Shim 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 sich für Backend Notes entscheiden, um die Authentifizierung und die Kontenflüsse zu planen, verbinden Sie es mit Verwenden Sie @capgo/capacitor-passkey zur nativen Fähigkeit in Verwenden Sie @capgo/capacitor-passkey, Verwenden Sie @capgo/capacitor-social-login 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-biometrische, und Zwei-Faktor-Authentifizierung für die Implementierungsdetails in Zwei-Faktor-Authentifizierung.