ウィンドウ メトロ アプリをアンインストールするときに、ユーザーの資格情報を削除したいと考えています。パスワードを保存するためにパスワードボールトを使用している場合、それは起こりません。私の問題を解決する他の方法はありますか?
2 に答える
別の方法があります。ユーザーが作成した場合は true のような bool 値を格納する LocalSettings キーを作成し、この 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 ストア アプリはアンインストール プロセスに参加できないため、直接行うことはできません。このようなアプリの状態の一部は、アンインストール時にクリアする必要があるようですが、現時点ではそのようには機能しません.
独自の暗号化スキームを使用して、独自の追加データに認証情報を保存できます。これは、アンインストール時に消去されます。もちろん、これは安全を確保するための重要な作業です。
アプリのインストール後に資格情報を確実に再取得したい場合は、ロッカーから資格情報を読み込むかどうかを示すフラグをローカル アプリ データに保持できます。最初のインストールでは、このフラグは存在しないため、資格情報を新たに収集する必要があります。ロッカーに保存したら、これが発生したことを示すフラグをアプリ データに保存して、後続のセッションがロッカーから読み込まれるようにします。アプリがアンインストールされると、アプリのデータ コンテンツが消去され、再インストールして起動すると、資格情報が再び収集されるようになります。