Abbiamo già affrontato in precedenza il tema dell'autenticazione e della sicurezza, parlando di come Windows Hello aiuti ad identificare l'utente senza però richiedere l'uso di username e password, ma mantenendo altissimi gli standard di sicurezza. Parlando di Windows Hello abbiamo però parlato solo di una tipologia di autenticazione, quella basata sul riconoscimento facciale, ma abbiamo completamente tralasciato un altro pezzo che riguarda un settore che sta crescendo molto, visibile soprattutto nei nuovi device che vengono rilasciati in questo periodo: il riconoscimento biometrico tramite lettura d'impronte.
All'interno di Windows 10 ci sono le API di Windows.Security.Credentials che gestiscono tutta la parte di autenticazione per noi, così che ci si debba preoccupare solo della logica applicativa e non del riconoscimento stesso:
private async Task<bool> AuthenticateWithFingerprintAsync() { try { // controllo della disponibilità del device var isAvailable = await UserConsentVerifier.CheckAvailabilityAsync(); // device disponibile all'uso if (isAvailable == UserConsentVerifierAvailability.Available) { // verifica dell'utente var consentResult = await UserConsentVerifier.RequestVerificationAsync("La mia app vuole assicurarsi che sei tu, Matteo..."); // utente riconosciuto if (consentResult == UserConsentVerificationResult.Verified) return true; } else { await new MessageDialog($"Non è stato possibile autenticarsi. Stato: {isAvailable}").ShowAsync(); } } catch (Exception ex) { await new MessageDialog($"Si è verificato un errore durante la richiesta: {ex}").ShowAsync(); } return false; }
Come si può vedere dall'esempio, il codice è molto simile a quanto abbiamo già visto in precedenza nello script relativo a Windows Hello: le API sono esattamente le stesse ma è il sistema operativo a prendersi carico di gestire i device disponibili e di capire con una certa accuratezza se il device è libero, se è stato bloccato da group policy oppure se l'utente è riconoscibile con una certa percentuale di sicurezza.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Selettore CSS :has() e i suoi casi d'uso avanzati
Gestire i dati con Azure Cosmos DB Data Explorer
Generare la software bill of material (SBOM) in GitHub
Ordinare randomicamente una lista in C#
Creare agenti facilmente con Azure AI Agent Service
Aggiornare a .NET 9 su Azure App Service
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Applicare un filtro per recuperare alcune issue di GitHub
Gestione dell'annidamento delle regole dei layer in CSS
Anonimizzare i dati sensibili nei log di Azure Front Door
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
I più letti di oggi
- .NET Core 3, C#8 and beyond
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il pattern matching per semplificare le espressioni
- Ecco il Silverlight for Windows Phone Tooolkit aggiornato a Windows Phone 7.5 Mango
- ASP.NET MVC 4
- Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
- Gestione CSS in Blazor con .NET 9