mirror of
https://github.com/bitwarden/browser
synced 2025-12-23 11:43:46 +00:00
Added lock and login redirect and added functionality to abort when in login or locked state
This commit is contained in:
@@ -32,11 +32,12 @@ export abstract class Fido2UserInterfaceSession {
|
||||
params: NewCredentialParams,
|
||||
abortController?: AbortController
|
||||
) => Promise<{ cipherId: string; userVerified: boolean }>;
|
||||
ensureUnlockedVault: () => Promise<void>;
|
||||
fullSync: () => Promise<void>;
|
||||
informExcludedCredential: (
|
||||
existingCipherIds: string[],
|
||||
abortController?: AbortController
|
||||
) => Promise<void>;
|
||||
informCredentialNotFound: (abortController?: AbortController) => Promise<void>;
|
||||
login: (userVerification: boolean) => Promise<{ userVerified: boolean }>;
|
||||
close: () => void;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { CBOR } from "cbor-redux";
|
||||
|
||||
import { AuthService } from "../../../auth/abstractions/auth.service";
|
||||
import { LogService } from "../../../platform/abstractions/log.service";
|
||||
import { Utils } from "../../../platform/misc/utils";
|
||||
import { CipherService } from "../../abstractions/cipher.service";
|
||||
import { AuthService } from "../../../auth/abstractions/auth.service";
|
||||
import {
|
||||
Fido2AlgorithmIdentifier,
|
||||
Fido2AutenticatorError,
|
||||
@@ -22,7 +22,6 @@ import { Fido2KeyView } from "../../models/view/fido2-key.view";
|
||||
|
||||
import { joseToDer } from "./ecdsa-utils";
|
||||
import { Fido2Utils } from "./fido2-utils";
|
||||
import { AuthenticationStatus } from "../../../auth/enums/authentication-status";
|
||||
|
||||
// AAGUID: 6e8248d5-b479-40db-a3d8-11116f7e8349
|
||||
export const AAGUID = new Uint8Array([
|
||||
@@ -221,14 +220,7 @@ export class Fido2AuthenticatorService implements Fido2AuthenticatorServiceAbstr
|
||||
params.fallbackSupported,
|
||||
abortController
|
||||
);
|
||||
|
||||
try {
|
||||
const authStatus = await this.authService.getAuthStatus();
|
||||
|
||||
if (authStatus === AuthenticationStatus.LoggedOut) {
|
||||
const response = await userInterfaceSession.login(params.requireUserVerification);
|
||||
}
|
||||
|
||||
if (
|
||||
params.requireUserVerification != undefined &&
|
||||
typeof params.requireUserVerification !== "boolean"
|
||||
@@ -243,6 +235,9 @@ export class Fido2AuthenticatorService implements Fido2AuthenticatorServiceAbstr
|
||||
|
||||
let cipherOptions: CipherView[];
|
||||
|
||||
//TODO: add here
|
||||
await userInterfaceSession.ensureUnlockedVault();
|
||||
|
||||
// eslint-disable-next-line no-empty
|
||||
if (params.allowCredentialDescriptorList?.length > 0) {
|
||||
cipherOptions = await this.findCredentialsById(
|
||||
|
||||
Reference in New Issue
Block a user