mirror of
https://github.com/bitwarden/browser
synced 2025-12-18 09:13:33 +00:00
* remove 2fa from main.background * remove login strategy service from main.background * move 2fa and login strategy service to popup, init in browser * add state providers to 2fa service - add deserializer helpers * use key definitions for global state * fix calls to 2fa service * remove extra await * add delay to wait for active account emission in popup * add and fix tests * fix cli * really fix cli * remove timeout and wait for active account * verify expected user is active account * fix tests * address feedback
24 lines
885 B
TypeScript
24 lines
885 B
TypeScript
import { TwoFactorProviderType } from "../enums/two-factor-provider-type";
|
|
import { IdentityTwoFactorResponse } from "../models/response/identity-two-factor.response";
|
|
|
|
export interface TwoFactorProviderDetails {
|
|
type: TwoFactorProviderType;
|
|
name: string;
|
|
description: string;
|
|
priority: number;
|
|
sort: number;
|
|
premium: boolean;
|
|
}
|
|
|
|
export abstract class TwoFactorService {
|
|
init: () => void;
|
|
getSupportedProviders: (win: Window) => Promise<TwoFactorProviderDetails[]>;
|
|
getDefaultProvider: (webAuthnSupported: boolean) => Promise<TwoFactorProviderType>;
|
|
setSelectedProvider: (type: TwoFactorProviderType) => Promise<void>;
|
|
clearSelectedProvider: () => Promise<void>;
|
|
|
|
setProviders: (response: IdentityTwoFactorResponse) => Promise<void>;
|
|
clearProviders: () => Promise<void>;
|
|
getProviders: () => Promise<Map<TwoFactorProviderType, { [key: string]: string }>>;
|
|
}
|