Vai al contenuto

Note sul backend

GitHub

Il tuo backend gestisce ancora la normale cerimonia WebAuthn:

  • genera le challenge di registrazione e autenticazione
  • verifica le risposte di attestation e assertion
  • valida il relying-party ID e la challenge
  • salva credenziali e contatori nello stesso modo in cui faresti per un flusso browser

Il plugin è progettato per preservare la struttura front-end del tuo code WebAuthn esistente.

  • Sul web, inoltra la richiesta al API WebAuthn del browser.
  • Su Capacitor nativo, restituisce oggetti credential simili a quelli del browser, supportati dalle API passkey native.
  • Il tuo backend può mantenere lo stesso processo di challenge e verifica.

Le passkey native di Android non sono identiche al modello di trust di un browser.

  • Con Digital Asset Links, Android può condividere lo stesso ecosistema di relying party e credenziali del tuo sito web.
  • Il valore clientDataJSON.origin letterale può comunque differire dall'origin del sito web.
  • Se il tuo server rifiuta qualsiasi cosa tranne https://your-domain, le asserzioni native di Android possono fallire anche se la passkey è valida.

Consenti l'origin browser previsto e l'origin dell'app Android previsto per lo stesso relying party quando supporti le passkey native su Android.

In questo modo ottieni:

  • supporto browser per il sito web
  • supporto passkey nativo nell'app Capacitor
  • un unico ecosistema di passkey per lo stesso dominio relying-party

Se il tuo backend restituisce già PublicKeyCredentialCreationOptionsJSON e PublicKeyCredentialRequestOptionsJSON, puoi anche usare il plugin diretto API invece dello shim in stile browser:

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

Se stai usando Note sul backend per pianificare i flussi di autenticazione e account, collegandolo a Utilizzo di @capgo/capacitor-passkey per la funzionalità nativa in Utilizzo di @capgo/capacitor-passkey, @capgo/capacitor-social-login per i dettagli di implementazione in @capgo/capacitor-social-login, @capgo/capacitor-passkey per i dettagli di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric per i dettagli di implementazione in @capgo/capacitor-native-biometric, e Autenticazione a due fattori per i dettagli sull'implementazione dell'autenticazione a due fattori.