only set pin when needed. sync after migration

This commit is contained in:
Kyle Spearrin 2019-06-03 14:21:56 -04:00
parent 3a691977aa
commit a78997771f
2 changed files with 9 additions and 5 deletions

View File

@ -124,6 +124,7 @@ namespace Bit.App
else if(message.Command == "migrated")
{
await Task.Delay(1000);
SyncIfNeeded();
await SetMainPageAsync();
}
});

View File

@ -118,8 +118,8 @@ namespace Bit.App.Migration
await storageService.SaveAsync("rememberedEmail",
settingsShim.GetValueOrDefault("other:lastLoginEmail", null));
Log("Migrating 6.11");
await storageService.SaveAsync(Constants.FingerprintUnlockKey,
settingsShim.GetValueOrDefault("setting:fingerprintUnlockOn", false));
var oldFingerprint = settingsShim.GetValueOrDefault("setting:fingerprintUnlockOn", false);
await storageService.SaveAsync(Constants.FingerprintUnlockKey, oldFingerprint);
Log("Migrating 7");
await environmentService.SetUrlsAsync(new Core.Models.Data.EnvironmentUrlData
@ -163,9 +163,12 @@ namespace Bit.App.Migration
// Save pin
var pinKey = await cryptoService.MakePinKeyAysnc(oldPin, oldEmail, oldKdf, oldKdfIterations);
var pinProtectedKey = await cryptoService.EncryptAsync(oldKeyBytes, pinKey);
await storageService.SaveAsync(Constants.PinProtectedKey, pinProtectedKey.EncryptedString);
if(!string.IsNullOrWhiteSpace(oldPin) && !oldFingerprint)
{
var pinKey = await cryptoService.MakePinKeyAysnc(oldPin, oldEmail, oldKdf, oldKdfIterations);
var pinProtectedKey = await cryptoService.EncryptAsync(oldKeyBytes, pinKey);
await storageService.SaveAsync(Constants.PinProtectedKey, pinProtectedKey.EncryptedString);
}
// Save new authed data