Panoramica
Quando utilizzi le passkey sincronizzate, le persone possono eseguire l'autenticazione con un fornitore di passkey.
Per creare e autenticarti con le passkey, utilizzerai l'API WebAuthn per il web o l'API Gestore credenziali per le app per Android. Queste API gestiscono la comunicazione tra il client e il provider di passkey.
Anche se queste API vengono chiamate da un client come una pagina web o un'app per Android, devi implementare il resto della funzionalità sul server per completare i tuoi casi d'uso per l'autenticazione.
L'implementazione di una passkey consiste di due funzionalità:
- Registrazione della passkey. Usa l'API WebAuthn o l'API Credential Manager per consentire all'utente di creare una passkey. Archivia la chiave pubblica associata sul server.
- Autenticazione con una passkey. Richiedi una verifica di autenticazione dal server e utilizza l'API WebAuthn o l'API Credential Manager per consentire all'utente di firmare questa verifica con la propria passkey. Verifica la firma sul server. Se la firma è valida, autentica l'utente.
Librerie lato server
Sebbene sia possibile implementare la funzionalità delle passkey lato server da zero, ti consigliamo di utilizzare una libreria.
Un server che supporta la creazione e l'autenticazione di passkey viene chiamato server FIDO2 o server FIDO in breve. Per estensione, faremo riferimento alle librerie lato server che implementano il supporto delle passkey come librerie lato server FIDO.
Perché utilizzare una biblioteca?
L'utilizzo di una libreria FIDO lato server offre diversi vantaggi:
- Tempo ed esperienza degli sviluppatori. La specifica WebAuthn è complessa. Le librerie FIDO lato server possono fornire API semplici per l'implementazione delle passkey, che consentono di risparmiare tempo e risorse di sviluppo.
- Maniudibilità. La specifica WebAuthn è comunque soggetta a modifiche. L'utilizzo dell'ultima versione di una libreria gestita attivamente consente di mantenere aggiornata l'implementazione.
- Sicurezza e conformità. L'implementazione della passkey deve essere conforme alla specifica WebAuthn e ai relativi requisiti di sicurezza. Le librerie FIDO lato server possono aiutarti a mantenere l'implementazione sicura e conforme alle specifiche. A seconda del prodotto e del settore, la tua implementazione può anche essere soggetta a normative che richiedono di utilizzare standard di sicurezza specifici per l'autenticazione.
Se possibile, prendi in considerazione l'idea di supportare finanziariamente i progetti open source su cui si basa il tuo prodotto.
Librerie
- Il repository GitHub awesome-webauthn include un elenco di librerie lato server selezionate dalla community. Troverai librerie per JavaScript e TypeScript, Go, Python e altro ancora.
- Su passkeys.dev è disponibile una raccolta di librerie gestita dal W3C WebAuthn Adoption Community Group.
- FIDO Alliance fa riferimento a una raccolta di server FIDO2.