Saltare al contenuto

Note sul backend

Il tuo backend possiede ancora la cerimonia WebAuthn normale:

  • generare sfide di registrazione e autenticazione
  • verificare le risposte di attestazione e di affermazione
  • imporre la validazione dell'ID e delle sfide del partner di fiducia
  • memorizzare le credenziali e i contatori nello stesso modo in cui fareste per un flusso del browser

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

  • In rete, si invia al WebAuthn del browser reale API.
  • Su native Capacitor, restituisce oggetti di credenziali come quelli del browser, supportati da API native di passkey.
  • Il tuo backend può mantenere lo stesso pipeline di sfida e verifica.

Le passkey native di Android non sono identiche al modello di fiducia del browser.

  • I Digital Asset Links consentono a Android di condividere lo stesso partito di fiducia e ecosistema di credenziali del tuo sito web.
  • Il valore letterale può ancora differire dall'origine del sito web. clientDataJSON.origin Se il tuo server rifiuta qualsiasi cosa eccetto
  • Le affermazioni native di Android possono fallire anche quando la passkey è altrimenti valida. https://your-domainRegola di backend consigliata
Cosa cambia su Android

Consenti l'origine del browser e l'origine dell'app Android attesa per lo stesso partito di fiducia quando supporti le chiavi passate native per Android.

Ciò ti dà:

  • supporto del browser per il sito web
  • supporto delle chiavi passate native nell'app Capacitor
  • un ecosistema di chiavi passate per lo stesso dominio di partito di fiducia

Se il tuo backend restituisce già PublicKeyCredentialCreationOptionsJSON e PublicKeyCredentialRequestOptionsJSONpuoi utilizzare anche il plugin diretto API al posto dello shim del 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,
});