1
0
mirror of https://github.com/bitwarden/browser synced 2026-01-03 17:13:47 +00:00

Password reprompt (#838)

* Add support for password reprompt
This commit is contained in:
Oscar Hinton
2021-05-04 21:32:03 +02:00
committed by GitHub
parent 20b8a83dd8
commit 42564285d9
9 changed files with 114 additions and 23 deletions

View File

@@ -0,0 +1,42 @@
import Swal from 'sweetalert2';
import { I18nService } from 'jslib/abstractions/i18n.service';
import { MessagingService } from 'jslib/abstractions/messaging.service';
import { StorageService } from 'jslib/abstractions/storage.service';
import {
ElectronPlatformUtilsService as BaseElectronPlatformUtilsService
} from 'jslib/electron/services/electronPlatformUtils.service';
export class ElectronPlatformUtilsService extends BaseElectronPlatformUtilsService {
constructor(i18nService: I18nService, messagingService: MessagingService,
isDesktopApp: boolean, storageService: StorageService) {
super(i18nService, messagingService, isDesktopApp, storageService);
}
async showPasswordDialog(title: string, body: string, passwordValidation: (value: string) => Promise<boolean>):
Promise<boolean> {
const result = await Swal.fire({
heightAuto: false,
title: title,
input: 'password',
text: body,
confirmButtonText: this.i18nService.t('ok'),
showCancelButton: true,
cancelButtonText: this.i18nService.t('cancel'),
inputAttributes: {
autocapitalize: 'off',
autocorrect: 'off',
},
inputValidator: async (value: string): Promise<any> => {
if (await passwordValidation(value)) {
return false;
}
return this.i18nService.t('invalidMasterPassword');
},
});
return result.isConfirmed;
}
}