Как удалить сохраненные учетные данные PasswordVault при удалении приложения?

Я хочу, чтобы учетные данные пользователя были удалены при удалении приложения окна метро. Это не происходит, когда я использую хранилище паролей для сохранения паролей. Есть ли другой способ решить мою проблему?

2 ответа

Есть другой способ. Вы можете создать ключ LocalSettings для хранения значения bool, например true, если пользователь создан, и использовать этот ключ LocalSettings (если он не найден) для очистки хранилища.

Вы можете реализовать это так:

Проверьте, следует ли удалять учетные данные из предыдущей установки или нет

//WILL RUN ONLY WHEN NO USER FOUND (FROM CURRENT INSTALL)
if (!localSettings.ContainsKey("usersExists"))
{
  IReadOnlyList<PasswordCredential> userDetailsList = loginVault.RetrieveAll();
  foreach (PasswordCredential x in userDetailsList)
   {
    try { loginVault.Remove(x); }
    catch (Exception Error) { Debug.WriteLine(Error); }
   }
   Debug.WriteLine("\nNo User Found!! LoginVault has been reset. All Previous User Details are removed.");
}

Поскольку пользовательские данные из предыдущей установки удалены, теперь вы можете создать нового пользователя и добавить localSettings["usersExists"] = true;

Приложения Магазина Windows не могут участвовать в процессе удаления, поэтому вы не можете сделать это напрямую. Кажется, что такое состояние приложения должно быть очищено при удалении, но в настоящее время это не работает.

Вы можете использовать свою собственную схему шифрования для хранения учетных данных в ваших собственных данных добавления, которые будут удалены при удалении. Конечно, это была бы значительная работа, чтобы быть в безопасности.

Если вы просто хотите быть уверенным в том, что повторно получите учетные данные после установки приложения, вы можете сохранить флаг в данных локального приложения, который указывает, следует ли загружать учетные данные из хранилища. При первой установке этот флаг не будет существовать, поэтому вы должны будете заново собирать учетные данные. После сохранения в хранилище сохраните флаг в данных приложения, который указывает, что это произошло, поэтому последующие сеансы загружаются из хранилища. Если приложение будет удалено, содержимое данных приложения будет очищено так, что при повторной установке и запуске вы снова будете собирать учетные данные.

Другие вопросы по тегам