mirror of
https://github.com/bitwarden/browser
synced 2025-12-19 17:53:39 +00:00
* Use different strategy classes for different types of login * General refactor and cleanup of auth logic * Create subclasses for different types of login credentials * Create subclasses for different types of tokenRequests * Create TwoFactorService, move code out of authService * refactor base CLI commands to use new interface
25 lines
817 B
TypeScript
25 lines
817 B
TypeScript
import { TwoFactorProviderType } from "../enums/twoFactorProviderType";
|
|
|
|
import { IdentityTwoFactorResponse } from "../models/response/identityTwoFactorResponse";
|
|
|
|
export interface TwoFactorProviderDetails {
|
|
type: TwoFactorProviderType;
|
|
name: string;
|
|
description: string;
|
|
priority: number;
|
|
sort: number;
|
|
premium: boolean;
|
|
}
|
|
|
|
export abstract class TwoFactorService {
|
|
init: () => void;
|
|
getSupportedProviders: (win: Window) => TwoFactorProviderDetails[];
|
|
getDefaultProvider: (webAuthnSupported: boolean) => TwoFactorProviderType;
|
|
setSelectedProvider: (type: TwoFactorProviderType) => void;
|
|
clearSelectedProvider: () => void;
|
|
|
|
setProviders: (response: IdentityTwoFactorResponse) => void;
|
|
clearProviders: () => void;
|
|
getProviders: () => Map<TwoFactorProviderType, { [key: string]: string }>;
|
|
}
|