Zum Inhalt springen

Backend-Hinweise

GitHub

Dein Backend steuert weiterhin den normalen WebAuthn-Prozess:

  • Generierung von Registration- und Authentication-Challenges
  • Verifizierung von Attestation- und Assertion-Responses
  • Validierung der Relying-Party-ID und der Challenges
  • Speichere Credentials und Counter genau wie bei einem Browser-Flow

Was unverändert bleibt

Abschnitt: „Was gleich bleibt“

Das Plugin ist so konzipiert, dass die Frontend-Struktur deiner bestehenden WebAuthn code erhalten bleibt.

  • Im Web leitet es an die echte WebAuthn API des Browsers weiter.
  • Bei nativem Capacitor liefert es browserähnliche Credential-Objekte zurück, die auf nativen Passkey-APIs basieren.
  • Dein Backend kann die gleiche Challenge- und Verification-Pipeline beibehalten.

Native Android Passkeys entsprechen nicht exakt dem Trust-Modell eines Browsers.

  • Digital Asset Links ermöglichen es Android, dasselbe Relying-Party- und Credential-Ökosystem wie deine Website nutzt.
  • Der tatsächliche clientDataJSON.origin Wert kann sich weiterhin von der Website-Origin unterscheiden.
  • Falls dein Server alles außer https://your-domain, Android-native Assertions können fehlschlagen, selbst wenn der Passkey ansonsten gültig ist.

Wenn du native Android Passkeys unterstützt, musst du sowohl die erwartete Browser-Origin als auch die erwartete Android-App-Origin für dieselbe Relying Party zulassen.

Das bietet dir:

  • Browser-Support für die Website
  • Native Passkey-Unterstützung in der Capacitor App
  • Ein Passkey-Ökosystem für dieselbe Relying-Party-Domain

Wenn dein Backend bereits zurückgibt PublicKeyCredentialCreationOptionsJSON und PublicKeyCredentialRequestOptionsJSON, kannst du auch das direkte API Plugin anstelle des Browser-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 du es nutzt Backend-Hinweise Um Authentifizierungs- und Account-Flows zu planen, verbinde es mit @capgo/capacitor-passkey verwenden für die native Funktion in „@capgo/capacitor-passkey verwenden“, @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-biometric, und Zwei-Faktor-Authentifizierung für die Implementierungsdetails zur Zwei-Faktor-Authentifizierung.