1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-17 16:53:34 +00:00

[PM-18038] Fix safari using outdated biometrics protocol (#13287)

* Fix safari using outdated biometrics protocol

* Remove logging

* Remove log

* Move canEnableBiometricUnlock to biometric service

* Fix build

* Add tests

* Fix type error

* Attempt to fix build

* Fix build

* Fix test failure
This commit is contained in:
Bernd Schoolmann
2025-03-31 16:59:01 +02:00
committed by GitHub
parent 22039d038d
commit 15738f16ae
19 changed files with 264 additions and 39 deletions

View File

@@ -1,5 +1,6 @@
import { Injectable } from "@angular/core";
import { VaultTimeoutSettingsService } from "@bitwarden/common/key-management/vault-timeout";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service";
import { Utils } from "@bitwarden/common/platform/misc/utils";
@@ -25,6 +26,7 @@ export class BackgroundBrowserBiometricsService extends BiometricsService {
private keyService: KeyService,
private biometricStateService: BiometricStateService,
private messagingService: MessagingService,
private vaultTimeoutSettingsService: VaultTimeoutSettingsService,
) {
super();
}
@@ -169,4 +171,14 @@ export class BackgroundBrowserBiometricsService extends BiometricsService {
}
async setShouldAutopromptNow(value: boolean): Promise<void> {}
async canEnableBiometricUnlock(): Promise<boolean> {
const status = await this.getBiometricsStatus();
const isBiometricsAlreadyEnabled = await this.vaultTimeoutSettingsService.isBiometricLockSet();
const statusAllowsBiometric =
status !== BiometricsStatus.DesktopDisconnected &&
status !== BiometricsStatus.NotEnabledInConnectedDesktopApp &&
status !== BiometricsStatus.HardwareUnavailable;
return statusAllowsBiometric || isBiometricsAlreadyEnabled;
}
}