In un mondo sempre più connesso, diventa via via più normale avere tanti account creati per utilizzare i vari servizi di cui necessitiamo. Per questione di sicurezza, inoltre, non è consigliato condividere la stessa password su più servizi, così come è buona norma utilizzare password complesse: per questo diventa necessario l'uso di password manager oppure di servizi che ci ricordano quali password sono state utilizzate in un determinato contesto.
All'interno della Universal Windows Platform c'è il servizio del Credential Locker che si occupa proprio di salvare e recuperare le password in modo sicuro, ma non solo: è anche in grado di fare il roaming delle credenziali su tutti i device nella quale l'utente è loggato (tramite domain account) ed ha la nostra applicazione installata.
Per utilizzarlo è sufficiente creare un nuovo oggetto di tipo PasswordVault dove andremo ad aggiungere le PasswordCredentials, come mostrato nell'esempio seguente:
private void SaveCredentials(string username, string password) { var vault = new Windows.Security.Credentials.PasswordVault(); vault.Add(new Windows.Security.Credentials.PasswordCredential("Facebook", username, password)); } private void GetCredentials() { var vault = new Windows.Security.Credentials.PasswordVault(); var facebook = vault.FindAllByResource("Facebook"); // ... }
Sebbene dal codice sia piuttosto evidente che vengono salvati username e password, nulla vieta di salvare contenuti diversi, purché non siano blob di grandi dimensioni: il password manager nonostante il meccanismo di roaming automatico non va ad intaccare la quota di 100kb, pertanto possiamo aggiungere tutti i valori necessari, ma non bisogna approfittarsene poiché questo sistema diventerebbe inefficiente. Va considerato inoltre che per mantenere l'efficienza, non si possono salvare più di dieci valori per applicazione.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Aggiornare a .NET 9 su Azure App Service
Gestire il colore CSS con HWB
Creazione di componenti personalizzati in React.js con Tailwind CSS
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Eseguire i worklow di GitHub su runner potenziati
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Criptare la comunicazione con mTLS in Azure Container Apps
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Creare una libreria CSS universale: i bottoni
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Usare una container image come runner di GitHub Actions
Sostituire la GitHub Action di login su private registry