mirror of
https://github.com/nextcloud/passman.git
synced 2025-02-26 08:24:00 +08:00
Force logout if localstorage password is wrong
This commit is contained in:
parent
65f2768411
commit
79052e4d70
4 changed files with 26 additions and 8 deletions
|
@ -218,10 +218,22 @@ angular.module('passmanApp')
|
|||
VaultService.getVault($scope.active_vault).then(function (credentials) {
|
||||
var _credentials = [];
|
||||
for (var i = 0; i < credentials.length; i++) {
|
||||
var _c = CredentialService.decryptCredential(angular.copy(credentials[i]));
|
||||
_c.tags_raw = _c.tags;
|
||||
TagService.addTags(_c.tags);
|
||||
_credentials.push(_c);
|
||||
try {
|
||||
var _c = CredentialService.decryptCredential(angular.copy(credentials[i]));
|
||||
} catch (e){
|
||||
CacheService.set('credential_cache_' + $scope.active_vault.vault_id, []);
|
||||
NotificationService.showNotification('An error happend during decryption', 5000);
|
||||
$rootScope.$broadcast('logout');
|
||||
SettingsService.setSetting('defaultVaultPass', null);
|
||||
SettingsService.setSetting('defaultVault', null);
|
||||
$location.path('/')
|
||||
|
||||
}
|
||||
if(_c) {
|
||||
_c.tags_raw = _c.tags;
|
||||
TagService.addTags(_c.tags);
|
||||
_credentials.push(_c);
|
||||
}
|
||||
}
|
||||
$scope.credentials = _credentials;
|
||||
$scope.show_spinner = false;
|
||||
|
|
|
@ -107,8 +107,14 @@ angular.module('passmanApp')
|
|||
for (var i = 0; i < _encryptedFields.length; i++) {
|
||||
var field = _encryptedFields[i];
|
||||
var fieldValue = angular.copy(credential[field]);
|
||||
try {
|
||||
var field_decrypted_value = EncryptService.decryptString(fieldValue)
|
||||
} catch (e){
|
||||
console.log(e)
|
||||
throw e
|
||||
}
|
||||
try{
|
||||
credential[field] = JSON.parse(EncryptService.decryptString(fieldValue));
|
||||
credential[field] = JSON.parse(field_decrypted_value);
|
||||
} catch (e){
|
||||
console.log('Field' + field + ' in '+ credential.label +' could not be parsed! Value:'+ fieldValue)
|
||||
throw e
|
||||
|
|
|
@ -32,8 +32,7 @@ angular.module('passmanApp')
|
|||
try {
|
||||
return sjcl.decrypt(_key, ciphertext, encryption_config, rp)
|
||||
} catch(e) {
|
||||
Error("Can't decrypt: "+e);
|
||||
return;
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,8 +11,9 @@ angular.module('passmanApp')
|
|||
.service('SettingsService', ['localStorageService', function (localStorageService) {
|
||||
var settings = {
|
||||
defaultVault: null,
|
||||
defaultVaultPassword: null
|
||||
defaultVaultPass: null
|
||||
};
|
||||
var neverSend = ['defaultVault', 'defaultVaultPass'];
|
||||
|
||||
var cookie = localStorageService.get('settings');
|
||||
settings = angular.merge(settings, cookie);
|
||||
|
|
Loading…
Reference in a new issue