diff --git a/apps/web/src/app/auth/core/services/index.ts b/apps/web/src/app/auth/core/services/index.ts index c85f0f3204..e2c1daf918 100644 --- a/apps/web/src/app/auth/core/services/index.ts +++ b/apps/web/src/app/auth/core/services/index.ts @@ -1,3 +1,4 @@ +export * from "./login"; export * from "./webauthn-login"; export * from "./set-password-jit"; export * from "./registration"; diff --git a/apps/web/src/app/auth/core/services/login/index.ts b/apps/web/src/app/auth/core/services/login/index.ts new file mode 100644 index 0000000000..f3801c8941 --- /dev/null +++ b/apps/web/src/app/auth/core/services/login/index.ts @@ -0,0 +1 @@ +export * from "./web-login.service"; diff --git a/apps/web/src/app/auth/core/services/login/web-login.service.ts b/apps/web/src/app/auth/core/services/login/web-login.service.ts new file mode 100644 index 0000000000..d4a80b6de4 --- /dev/null +++ b/apps/web/src/app/auth/core/services/login/web-login.service.ts @@ -0,0 +1,3 @@ +import { DefaultLoginService, LoginService } from "@bitwarden/auth/angular"; + +export class WebLoginService extends DefaultLoginService implements LoginService {} diff --git a/apps/web/src/app/core/core.module.ts b/apps/web/src/app/core/core.module.ts index 3b7ba0a727..1d00bf1893 100644 --- a/apps/web/src/app/core/core.module.ts +++ b/apps/web/src/app/core/core.module.ts @@ -20,6 +20,7 @@ import { ModalService as ModalServiceAbstraction } from "@bitwarden/angular/serv import { SetPasswordJitService, RegistrationFinishService as RegistrationFinishServiceAbstraction, + LoginService, } from "@bitwarden/auth/angular"; import { InternalUserDecryptionOptionsServiceAbstraction } from "@bitwarden/auth/common"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; @@ -57,7 +58,7 @@ import { import { VaultTimeout, VaultTimeoutStringType } from "@bitwarden/common/types/vault-timeout.type"; import { PolicyListService } from "../admin-console/core/policy-list.service"; -import { WebSetPasswordJitService, WebRegistrationFinishService } from "../auth"; +import { WebSetPasswordJitService, WebRegistrationFinishService, WebLoginService } from "../auth"; import { AcceptOrganizationInviteService } from "../auth/organization-invite/accept-organization.service"; import { HtmlStorageService } from "../core/html-storage.service"; import { I18nService } from "../core/i18n.service"; @@ -200,6 +201,11 @@ const safeProviders: SafeProvider[] = [ InternalUserDecryptionOptionsServiceAbstraction, ], }), + safeProvider({ + provide: LoginService, + useClass: WebLoginService, + deps: [], + }), ]; @NgModule({ diff --git a/libs/angular/src/services/jslib-services.module.ts b/libs/angular/src/services/jslib-services.module.ts index 0997fb6863..6ad77d3f96 100644 --- a/libs/angular/src/services/jslib-services.module.ts +++ b/libs/angular/src/services/jslib-services.module.ts @@ -8,6 +8,8 @@ import { DefaultRegistrationFinishService, AnonLayoutWrapperDataService, DefaultAnonLayoutWrapperDataService, + LoginService, + DefaultLoginService, } from "@bitwarden/auth/angular"; import { AuthRequestServiceAbstraction, @@ -1290,6 +1292,11 @@ const safeProviders: SafeProvider[] = [ useClass: DefaultRegistrationFinishService, deps: [CryptoServiceAbstraction, AccountApiServiceAbstraction], }), + safeProvider({ + provide: LoginService, + useClass: DefaultLoginService, + deps: [], + }), ]; @NgModule({ diff --git a/libs/auth/src/angular/index.ts b/libs/auth/src/angular/index.ts index daab7a9c8e..569e7bb59f 100644 --- a/libs/auth/src/angular/index.ts +++ b/libs/auth/src/angular/index.ts @@ -20,6 +20,8 @@ export * from "./input-password/password-input-result"; // login export * from "./login/login.component"; +export * from "./login/login.service"; +export * from "./login/default-login.service"; // password callout export * from "./password-callout/password-callout.component"; diff --git a/libs/auth/src/angular/login/default-login.service.ts b/libs/auth/src/angular/login/default-login.service.ts new file mode 100644 index 0000000000..cf7514e60b --- /dev/null +++ b/libs/auth/src/angular/login/default-login.service.ts @@ -0,0 +1,3 @@ +import { LoginService } from "./login.service"; + +export class DefaultLoginService implements LoginService {} diff --git a/libs/auth/src/angular/login/login.component.ts b/libs/auth/src/angular/login/login.component.ts index e907da001b..18377392e4 100644 --- a/libs/auth/src/angular/login/login.component.ts +++ b/libs/auth/src/angular/login/login.component.ts @@ -13,6 +13,8 @@ import { FormFieldModule, } from "@bitwarden/components"; +import { LoginService } from "./login.service"; + @Component({ standalone: true, templateUrl: "./login.component.html", @@ -39,6 +41,7 @@ export class LoginComponentV2 implements OnInit { private activatedRoute: ActivatedRoute, private formBuilder: FormBuilder, private loginEmailService: LoginEmailServiceAbstraction, + private loginService: LoginService, ) {} async ngOnInit(): Promise { diff --git a/libs/auth/src/angular/login/login.service.ts b/libs/auth/src/angular/login/login.service.ts new file mode 100644 index 0000000000..22796fce47 --- /dev/null +++ b/libs/auth/src/angular/login/login.service.ts @@ -0,0 +1 @@ +export abstract class LoginService {}