Mise à JOUR: s'il vous Plaît être conscient que, bien que moderne/applications metro est limité à piquer des uns et des autres trucs, bureau applications disposent d'un accès illimité à toutes les données stockées par le biais de ces Api. Voir http://www.hanselman.com/blog/SavingAndRetrievingBrowserAndOtherPasswords.aspx qui inclut le code de le démontrer.
Win8 a une nouvelle API appelée PasswordVault qui est conçu pour prendre soin de tous ces problèmes pour vous. Vraiment facile à utiliser, sécurisé et peut être configuré par les utilisateurs de se déplacer entre leurs machines afin qu'elles n'avez qu'à entrer les informations d'identification une fois. J'ai utilisé avec succès ce pour OAuth jetons
Récupération des informations d'identification (remarque stupide exception que WinRT soulève... ils devraient vraiment juste retour null):
const string VAULT_RESOURCE = "[My App] Credentials";
string UserName { get; set; };
string Password { get; set; };
var vault = new PasswordVault();
try
{
var creds = vault.FindAllByResource(VAULT_RESOURCE).FirstOrDefault();
if (creds != null)
{
UserName = creds.UserName;
Password = vault.Retrieve(VAULT_RESOURCE, UserName).Password;
}
}
catch(COMException)
{
// this exception likely means that no credentials have been stored
}
Stockage des informations d'identification:
vault.Add(new PasswordCredential(VAULT_RESOURCE, UserName, Password));
Effacer les informations d'identification (lorsque l'utilisateur clique sur le bouton de déconnexion de votre application):
vault.Remove(_vault.Retrieve(VAULT_RESOURCE, UserName));