Enforce Password Generator Policy Options (#1155)

This commit is contained in:
Vincent Salucci 2020-02-28 11:43:27 -06:00 committed by GitHub
parent 9fce5147e7
commit 9b4f1045f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 9 deletions

View File

@ -57,7 +57,7 @@ export default class CommandsBackground {
return; return;
} }
const options = await this.passwordGenerationService.getOptions(); const options = (await this.passwordGenerationService.getOptions())[0];
const password = await this.passwordGenerationService.generatePassword(options); const password = await this.passwordGenerationService.generatePassword(options);
this.platformUtilsService.copyToClipboard(password, { window: window }); this.platformUtilsService.copyToClipboard(password, { window: window });
this.passwordGenerationService.addHistory(password); this.passwordGenerationService.addHistory(password);

View File

@ -37,7 +37,7 @@ export default class ContextMenusBackground {
} }
private async generatePasswordToClipboard() { private async generatePasswordToClipboard() {
const options = await this.passwordGenerationService.getOptions(); const options = (await this.passwordGenerationService.getOptions())[0];
const password = await this.passwordGenerationService.generatePassword(options); const password = await this.passwordGenerationService.generatePassword(options);
this.platformUtilsService.copyToClipboard(password, { window: window }); this.platformUtilsService.copyToClipboard(password, { window: window });
this.passwordGenerationService.addHistory(password); this.passwordGenerationService.addHistory(password);

View File

@ -175,7 +175,8 @@ export default class MainBackground {
async (expired: boolean) => await this.logout(expired)); async (expired: boolean) => await this.logout(expired));
this.eventService = new EventService(this.storageService, this.apiService, this.userService, this.eventService = new EventService(this.storageService, this.apiService, this.userService,
this.cipherService); this.cipherService);
this.passwordGenerationService = new PasswordGenerationService(this.cryptoService, this.storageService); this.passwordGenerationService = new PasswordGenerationService(this.cryptoService, this.storageService,
this.policyService);
this.totpService = new TotpService(this.storageService, cryptoFunctionService); this.totpService = new TotpService(this.storageService, cryptoFunctionService);
this.autofillService = new AutofillService(this.cipherService, this.userService, this.totpService, this.autofillService = new AutofillService(this.cipherService, this.userService, this.totpService,
this.eventService); this.eventService);

View File

@ -78,19 +78,23 @@
</div> </div>
<div class="box-content-row box-content-row-checkbox" appBoxRow> <div class="box-content-row box-content-row-checkbox" appBoxRow>
<label for="uppercase">A-Z</label> <label for="uppercase">A-Z</label>
<input id="uppercase" type="checkbox" (change)="saveOptions()" [(ngModel)]="options.uppercase"> <input id="uppercase" type="checkbox" (change)="saveOptions()"
[disabled]="enforcedPolicyOptions.useUppercase" [(ngModel)]="options.uppercase">
</div> </div>
<div class="box-content-row box-content-row-checkbox" appBoxRow> <div class="box-content-row box-content-row-checkbox" appBoxRow>
<label for="lowercase">a-z</label> <label for="lowercase">a-z</label>
<input id="lowercase" type="checkbox" (change)="saveOptions()" [(ngModel)]="options.lowercase"> <input id="lowercase" type="checkbox" (change)="saveOptions()"
[disabled]="enforcedPolicyOptions.useLowercase" [(ngModel)]="options.lowercase">
</div> </div>
<div class="box-content-row box-content-row-checkbox" appBoxRow> <div class="box-content-row box-content-row-checkbox" appBoxRow>
<label for="numbers">0-9</label> <label for="numbers">0-9</label>
<input id="numbers" type="checkbox" (change)="saveOptions()" [(ngModel)]="options.number"> <input id="numbers" type="checkbox" (change)="saveOptions()"
[disabled]="enforcedPolicyOptions.useNumbers" [(ngModel)]="options.number">
</div> </div>
<div class="box-content-row box-content-row-checkbox" appBoxRow> <div class="box-content-row box-content-row-checkbox" appBoxRow>
<label for="special">!@#$%^&*</label> <label for="special">!@#$%^&*</label>
<input id="special" type="checkbox" (change)="saveOptions()" [(ngModel)]="options.special"> <input id="special" type="checkbox" (change)="saveOptions()"
[disabled]="enforcedPolicyOptions.useSpecial" [(ngModel)]="options.special">
</div> </div>
</div> </div>
</div> </div>
@ -98,12 +102,12 @@
<div class="box-content"> <div class="box-content">
<div class="box-content-row box-content-row-input" appBoxRow> <div class="box-content-row box-content-row-input" appBoxRow>
<label for="min-number">{{'minNumbers' | i18n}}</label> <label for="min-number">{{'minNumbers' | i18n}}</label>
<input id="min-number" type="number" min="0" max="9" (input)="saveOptions()" <input id="min-number" type="number" min="0" max="9" (blur)="saveOptions()"
[(ngModel)]="options.minNumber"> [(ngModel)]="options.minNumber">
</div> </div>
<div class="box-content-row box-content-row-input" appBoxRow> <div class="box-content-row box-content-row-input" appBoxRow>
<label for="min-special">{{'minSpecial' | i18n}}</label> <label for="min-special">{{'minSpecial' | i18n}}</label>
<input id="min-special" type="number" min="0" max="9" (input)="saveOptions()" <input id="min-special" type="number" min="0" max="9" (blur)="saveOptions()"
[(ngModel)]="options.minSpecial"> [(ngModel)]="options.minSpecial">
</div> </div>
<div class="box-content-row box-content-row-checkbox" appBoxRow> <div class="box-content-row box-content-row-checkbox" appBoxRow>