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
Sostituire la GitHub Action di login su private registry
Utilizzare Model as a Service su Microsoft Azure
Disabilitare automaticamente un workflow di GitHub (parte 2)
Utilizzare un service principal per accedere a Azure Container Registry
Verificare la provenienza di un commit tramite le GitHub Actions
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Creare alias per tipi generici e tuple in C#
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Usare le variabili per personalizzare gli stili CSS
Utilizzare i primary constructor in C#
Configurare policy CORS in Azure Container Apps
Eseguire attività pianificate con Azure Container Jobs
I più letti di oggi
- Utilizzare Docker Compose con Azure App Service
- Modernizzare le applicazioni WPF e Windows Forms con Blazor
- annunciato #netstandard 2.1. .NET Core lo supporterà a partire da #netcore3, così come le prossime versione di #xamarin, #mono e #unity.il supporto per #netfx 4.8, invece, non ci sarà. https://aspit.co/bq2
- Steel Style CheckBox per Silverlight 4.0
- Utilizzare QuickGrid di Blazor con Entity Framework