1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-18 01:03:35 +00:00
Files
browser/libs/auth/src/angular/login/login-component.service.ts
2024-10-18 10:22:14 -05:00

42 lines
1.4 KiB
TypeScript

import { MasterPasswordPolicyOptions } from "@bitwarden/common/admin-console/models/domain/master-password-policy-options";
import { Policy } from "@bitwarden/common/admin-console/models/domain/policy";
export interface PasswordPolicies {
policies: Policy[];
isPolicyAndAutoEnrollEnabled: boolean;
enforcedPasswordPolicyOptions: MasterPasswordPolicyOptions;
}
/**
* The `LoginComponentService` allows the single libs/auth `LoginComponent` to
* delegate all client-specific functionality to client-specific service
* implementations of `LoginComponentService`.
*
* The `LoginComponentService` should not be confused with the
* `LoginStrategyService`, which is used to determine the login strategy and
* performs the core login logic.
*/
export abstract class LoginComponentService {
/**
* Gets the organization policies if there is an organization invite.
* - Used by: Web
*/
getOrgPolicies: () => Promise<PasswordPolicies | null>;
/**
* Indicates whether login with device (auth request) is supported on the given client
*/
isLoginViaAuthRequestSupported: () => boolean;
/**
* Indicates whether login with passkey is supported on the given client
*/
isLoginWithPasskeySupported: () => boolean;
/**
* Launches the SSO flow in a new browser window.
* - Used by: Browser, Desktop
*/
launchSsoBrowserWindow: (email: string, clientId: "browser" | "desktop") => Promise<void>;
}