2018-02-19 19:07:19 +01:00
|
|
|
import { TwoFactorProviderType } from '../enums/twoFactorProviderType';
|
2018-02-02 04:55:49 +01:00
|
|
|
|
2018-02-19 19:07:19 +01:00
|
|
|
import { AuthResult } from '../models/domain/authResult';
|
2018-02-02 04:55:49 +01:00
|
|
|
|
2018-01-23 21:58:13 +01:00
|
|
|
export abstract class AuthService {
|
2018-02-02 04:55:49 +01:00
|
|
|
email: string;
|
|
|
|
masterPasswordHash: string;
|
|
|
|
twoFactorProviders: Map<TwoFactorProviderType, { [key: string]: string; }>;
|
|
|
|
|
|
|
|
logIn: (email: string, masterPassword: string) => Promise<AuthResult>;
|
|
|
|
logInTwoFactor: (twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,
|
|
|
|
remember?: boolean) => Promise<AuthResult>;
|
2018-01-23 21:58:13 +01:00
|
|
|
logOut: (callback: Function) => void;
|
2018-02-02 04:55:49 +01:00
|
|
|
getDefaultTwoFactorProvider: (u2fSupported: boolean) => TwoFactorProviderType;
|
2018-01-23 21:58:13 +01:00
|
|
|
}
|