1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-14 23:45:37 +00:00

Add MP prompt to cipher selection

This commit is contained in:
Jeffrey Holland
2025-03-26 20:11:59 +01:00
parent 80d80d3b24
commit 3f08d23f41
2 changed files with 10 additions and 3 deletions

View File

@@ -23,7 +23,7 @@
<bit-section class="tw-bg-background-alt tw-p-4 tw-flex tw-flex-col tw-grow">
<bit-item *ngFor="let c of ciphers$ | async" class="">
<button type="button" bit-item-content (click)="chooseCipher(c.id)">
<button type="button" bit-item-content (click)="chooseCipher(c)">
<app-vault-icon [cipher]="c" slot="start"></app-vault-icon>
<button bitLink [title]="c.name" type="button">
{{ c.name }}

View File

@@ -7,6 +7,7 @@ import { JslibModule } from "@bitwarden/angular/jslib.module";
import { BitwardenShield } from "@bitwarden/auth/angular";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
import { CipherRepromptType } from "@bitwarden/common/vault/enums";
import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
import {
BadgeModule,
@@ -19,6 +20,7 @@ import {
BitIconButtonComponent,
SectionHeaderComponent,
} from "@bitwarden/components";
import { PasswordRepromptService } from "@bitwarden/vault";
import {
DesktopFido2UserInterfaceService,
@@ -57,6 +59,7 @@ export class Fido2VaultComponent implements OnInit, OnDestroy {
private readonly fido2UserInterfaceService: DesktopFido2UserInterfaceService,
private readonly cipherService: CipherService,
private readonly accountService: AccountService,
private readonly passwordRepromptService: PasswordRepromptService,
private readonly router: Router,
) {}
@@ -85,8 +88,12 @@ export class Fido2VaultComponent implements OnInit, OnDestroy {
this.cipherIdsSubject.complete(); // Clean up the BehaviorSubject
}
async chooseCipher(cipherId: string) {
this.session?.confirmChosenCipher(cipherId, true);
async chooseCipher(cipher: CipherView) {
const userReprompted =
cipher.reprompt !== CipherRepromptType.None &&
!(await this.passwordRepromptService.showPasswordPrompt());
this.session?.confirmChosenCipher(cipher.id, userReprompted);
await this.router.navigate(["/"]);
await this.desktopSettingsService.setModalMode(false);