diff --git a/apps/browser/src/auth/popup/login/extension-login-component.service.ts b/apps/browser/src/auth/popup/login/extension-login-component.service.ts new file mode 100644 index 0000000000..c14bb7fcff --- /dev/null +++ b/apps/browser/src/auth/popup/login/extension-login-component.service.ts @@ -0,0 +1,12 @@ +import { DefaultLoginComponentService, LoginComponentService } from "@bitwarden/auth/angular"; + +import { flagEnabled } from "../../../platform/flags"; // TODO-rr-bw: do I need a client specific `flagEnabled()` fn? + +export class ExtensionLoginComponentService + extends DefaultLoginComponentService + implements LoginComponentService +{ + getShowPasswordlessFlag(): boolean { + return flagEnabled("showPasswordless"); + } +} diff --git a/apps/browser/src/auth/popup/login/extension-login.service.ts b/apps/browser/src/auth/popup/login/extension-login.service.ts deleted file mode 100644 index c9f0594cee..0000000000 --- a/apps/browser/src/auth/popup/login/extension-login.service.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { DefaultLoginService, LoginService } from "@bitwarden/auth/angular"; - -import { flagEnabled } from "../../../platform/flags"; // TODO-rr-bw: do I need a client specific `flagEnabled()` fn? - -export class ExtensionLoginService extends DefaultLoginService implements LoginService { - getShowPasswordlessFlag(): boolean { - return flagEnabled("showPasswordless"); - } -} diff --git a/apps/browser/src/popup/services/services.module.ts b/apps/browser/src/popup/services/services.module.ts index ab883768bb..15ca6f0527 100644 --- a/apps/browser/src/popup/services/services.module.ts +++ b/apps/browser/src/popup/services/services.module.ts @@ -16,7 +16,7 @@ import { CLIENT_TYPE, } from "@bitwarden/angular/services/injection-tokens"; import { JslibServicesModule } from "@bitwarden/angular/services/jslib-services.module"; -import { AnonLayoutWrapperDataService, LoginService } from "@bitwarden/auth/angular"; +import { AnonLayoutWrapperDataService, LoginComponentService } from "@bitwarden/auth/angular"; import { PinServiceAbstraction } from "@bitwarden/auth/common"; import { EventCollectionService as EventCollectionServiceAbstraction } from "@bitwarden/common/abstractions/event/event-collection.service"; import { NotificationsService } from "@bitwarden/common/abstractions/notifications.service"; @@ -100,7 +100,7 @@ import { PasswordGenerationServiceAbstraction } from "@bitwarden/generator-legac import { PasswordRepromptService } from "@bitwarden/vault"; import { ExtensionAnonLayoutWrapperDataService } from "../../auth/popup/extension-anon-layout-wrapper/extension-anon-layout-wrapper-data.service"; -import { ExtensionLoginService } from "../../auth/popup/login/extension-login.service"; +import { ExtensionLoginComponentService } from "../../auth/popup/login/extension-login-component.service"; import { AutofillService as AutofillServiceAbstraction } from "../../autofill/services/abstractions/autofill.service"; import AutofillService from "../../autofill/services/autofill.service"; import MainBackground from "../../background/main.background"; @@ -570,8 +570,8 @@ const safeProviders: SafeProvider[] = [ deps: [], }), safeProvider({ - provide: LoginService, - useClass: ExtensionLoginService, + provide: LoginComponentService, + useClass: ExtensionLoginComponentService, deps: [ CryptoFunctionServiceAbstraction, EnvironmentService, diff --git a/apps/desktop/src/app/services/services.module.ts b/apps/desktop/src/app/services/services.module.ts index d29633d3e0..a7842fe477 100644 --- a/apps/desktop/src/app/services/services.module.ts +++ b/apps/desktop/src/app/services/services.module.ts @@ -19,7 +19,7 @@ import { CLIENT_TYPE, } from "@bitwarden/angular/services/injection-tokens"; import { JslibServicesModule } from "@bitwarden/angular/services/jslib-services.module"; -import { LoginService, SetPasswordJitService } from "@bitwarden/auth/angular"; +import { LoginComponentService, SetPasswordJitService } from "@bitwarden/auth/angular"; import { InternalUserDecryptionOptionsServiceAbstraction, PinServiceAbstraction, @@ -73,7 +73,7 @@ import { CipherService as CipherServiceAbstraction } from "@bitwarden/common/vau import { DialogService } from "@bitwarden/components"; import { PasswordGenerationServiceAbstraction } from "@bitwarden/generator-legacy"; -import { DesktopLoginService } from "../../auth/login/desktop-login.service"; +import { DesktopLoginComponentService } from "../../auth/login/desktop-login-component.service"; import { DesktopAutofillSettingsService } from "../../autofill/services/desktop-autofill-settings.service"; import { DesktopSettingsService } from "../../platform/services/desktop-settings.service"; import { ElectronBiometricsService } from "../../platform/services/electron-biometrics.service"; @@ -293,8 +293,8 @@ const safeProviders: SafeProvider[] = [ ], }), safeProvider({ - provide: LoginService, - useClass: DesktopLoginService, + provide: LoginComponentService, + useClass: DesktopLoginComponentService, deps: [ CryptoFunctionServiceAbstraction, EnvironmentService, diff --git a/apps/desktop/src/auth/login/desktop-login.service.ts b/apps/desktop/src/auth/login/desktop-login-component.service.ts similarity index 88% rename from apps/desktop/src/auth/login/desktop-login.service.ts rename to apps/desktop/src/auth/login/desktop-login-component.service.ts index a596d38fbb..cd54163782 100644 --- a/apps/desktop/src/auth/login/desktop-login.service.ts +++ b/apps/desktop/src/auth/login/desktop-login-component.service.ts @@ -1,11 +1,14 @@ import { inject } from "@angular/core"; -import { DefaultLoginService, LoginService } from "@bitwarden/auth/angular"; +import { DefaultLoginComponentService, LoginComponentService } from "@bitwarden/auth/angular"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { Utils } from "@bitwarden/common/platform/misc/utils"; import { ToastService } from "@bitwarden/components"; -export class DesktopLoginService extends DefaultLoginService implements LoginService { +export class DesktopLoginComponentService + extends DefaultLoginComponentService + implements LoginComponentService +{ i18nService = inject(I18nService); toastService = inject(ToastService); diff --git a/apps/web/src/app/auth/core/services/login/index.ts b/apps/web/src/app/auth/core/services/login/index.ts index f3801c8941..73ad7fbd28 100644 --- a/apps/web/src/app/auth/core/services/login/index.ts +++ b/apps/web/src/app/auth/core/services/login/index.ts @@ -1 +1 @@ -export * from "./web-login.service"; +export * from "./web-login-component.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-component.service.ts similarity index 90% rename from apps/web/src/app/auth/core/services/login/web-login.service.ts rename to apps/web/src/app/auth/core/services/login/web-login-component.service.ts index fec57c55ae..0e8f21577e 100644 --- a/apps/web/src/app/auth/core/services/login/web-login.service.ts +++ b/apps/web/src/app/auth/core/services/login/web-login-component.service.ts @@ -2,7 +2,11 @@ import { inject } from "@angular/core"; import { Router, UrlTree } from "@angular/router"; import { firstValueFrom } from "rxjs"; -import { DefaultLoginService, LoginService, PasswordPolicies } from "@bitwarden/auth/angular"; +import { + DefaultLoginComponentService, + LoginComponentService, + PasswordPolicies, +} from "@bitwarden/auth/angular"; import { PolicyApiServiceAbstraction } from "@bitwarden/common/admin-console/abstractions/policy/policy-api.service.abstraction"; import { InternalPolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction"; import { Policy } from "@bitwarden/common/admin-console/models/domain/policy"; @@ -12,7 +16,10 @@ import { flagEnabled } from "../../../../../utils/flags"; import { RouterService } from "../../../../core/router.service"; import { AcceptOrganizationInviteService } from "../../../organization-invite/accept-organization.service"; -export class WebLoginService extends DefaultLoginService implements LoginService { +export class WebLoginComponentService + extends DefaultLoginComponentService + implements LoginComponentService +{ acceptOrganizationInviteService = inject(AcceptOrganizationInviteService); logService = inject(LogService); policyApiService = inject(PolicyApiServiceAbstraction); diff --git a/apps/web/src/app/core/core.module.ts b/apps/web/src/app/core/core.module.ts index bdc0294b61..6560ce4297 100644 --- a/apps/web/src/app/core/core.module.ts +++ b/apps/web/src/app/core/core.module.ts @@ -21,7 +21,7 @@ import { ModalService as ModalServiceAbstraction } from "@bitwarden/angular/serv import { SetPasswordJitService, RegistrationFinishService as RegistrationFinishServiceAbstraction, - LoginService, + LoginComponentService, } from "@bitwarden/auth/angular"; import { InternalUserDecryptionOptionsServiceAbstraction } from "@bitwarden/auth/common"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; @@ -64,7 +64,11 @@ import { VaultTimeout, VaultTimeoutStringType } from "@bitwarden/common/types/va import { PasswordGenerationServiceAbstraction } from "@bitwarden/generator-legacy"; import { PolicyListService } from "../admin-console/core/policy-list.service"; -import { WebSetPasswordJitService, WebRegistrationFinishService, WebLoginService } from "../auth"; +import { + WebSetPasswordJitService, + WebRegistrationFinishService, + WebLoginComponentService, +} from "../auth"; import { AcceptOrganizationInviteService } from "../auth/organization-invite/accept-organization.service"; import { HtmlStorageService } from "../core/html-storage.service"; import { I18nService } from "../core/i18n.service"; @@ -219,8 +223,8 @@ const safeProviders: SafeProvider[] = [ deps: [OBSERVABLE_DISK_LOCAL_STORAGE, LogService], }), safeProvider({ - provide: LoginService, - useClass: WebLoginService, + provide: LoginComponentService, + useClass: WebLoginComponentService, deps: [ CryptoFunctionServiceAbstraction, EnvironmentService, diff --git a/libs/angular/src/services/jslib-services.module.ts b/libs/angular/src/services/jslib-services.module.ts index 185414935e..bc12eb4742 100644 --- a/libs/angular/src/services/jslib-services.module.ts +++ b/libs/angular/src/services/jslib-services.module.ts @@ -12,8 +12,8 @@ import { DefaultRegistrationFinishService, AnonLayoutWrapperDataService, DefaultAnonLayoutWrapperDataService, - LoginService, - DefaultLoginService, + LoginComponentService, + DefaultLoginComponentService, } from "@bitwarden/auth/angular"; import { AuthRequestServiceAbstraction, @@ -1311,8 +1311,8 @@ const safeProviders: SafeProvider[] = [ deps: [], }), safeProvider({ - provide: LoginService, - useClass: DefaultLoginService, + provide: LoginComponentService, + useClass: DefaultLoginComponentService, deps: [ CryptoFunctionServiceAbstraction, EnvironmentService, diff --git a/libs/auth/src/angular/index.ts b/libs/auth/src/angular/index.ts index d153cf5355..6a58c6ff88 100644 --- a/libs/auth/src/angular/index.ts +++ b/libs/auth/src/angular/index.ts @@ -21,8 +21,8 @@ export * from "./input-password/password-input-result"; // login export * from "./login/login.component"; export * from "./login/login-secondary-content.component"; -export * from "./login/login.service"; -export * from "./login/default-login.service"; +export * from "./login/login-component.service"; +export * from "./login/default-login-component.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-component.service.ts similarity index 95% rename from libs/auth/src/angular/login/default-login.service.ts rename to libs/auth/src/angular/login/default-login-component.service.ts index 87dbc39cd9..5a532c81f4 100644 --- a/libs/auth/src/angular/login/default-login.service.ts +++ b/libs/auth/src/angular/login/default-login-component.service.ts @@ -1,7 +1,7 @@ import { UrlTree } from "@angular/router"; import { firstValueFrom } from "rxjs"; -import { LoginService, PasswordPolicies } from "@bitwarden/auth/angular"; +import { LoginComponentService, PasswordPolicies } from "@bitwarden/auth/angular"; import { SsoLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/sso-login.service.abstraction"; import { CryptoFunctionService } from "@bitwarden/common/platform/abstractions/crypto-function.service"; import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service"; @@ -9,7 +9,7 @@ import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/pl import { Utils } from "@bitwarden/common/platform/misc/utils"; import { PasswordGenerationServiceAbstraction } from "@bitwarden/generator-legacy"; -export class DefaultLoginService implements LoginService { +export class DefaultLoginComponentService implements LoginComponentService { constructor( protected cryptoFunctionService: CryptoFunctionService, protected environmentService: EnvironmentService, diff --git a/libs/auth/src/angular/login/login.service.ts b/libs/auth/src/angular/login/login-component.service.ts similarity index 94% rename from libs/auth/src/angular/login/login.service.ts rename to libs/auth/src/angular/login/login-component.service.ts index f28ba1aa68..b5a7838139 100644 --- a/libs/auth/src/angular/login/login.service.ts +++ b/libs/auth/src/angular/login/login-component.service.ts @@ -9,7 +9,7 @@ export interface PasswordPolicies { enforcedPasswordPolicyOptions: MasterPasswordPolicyOptions; } -export abstract class LoginService { +export abstract class LoginComponentService { // Web getOrgPolicies: () => Promise; setPreviousUrl: (route: UrlTree) => void | null; diff --git a/libs/auth/src/angular/login/login.component.ts b/libs/auth/src/angular/login/login.component.ts index c155bdd704..ab5388c16c 100644 --- a/libs/auth/src/angular/login/login.component.ts +++ b/libs/auth/src/angular/login/login.component.ts @@ -42,7 +42,7 @@ import { import { AnonLayoutWrapperDataService } from "../anon-layout/anon-layout-wrapper-data.service"; import { WaveIcon } from "../icons"; -import { LoginService } from "./login.service"; +import { LoginComponentService } from "./login-component.service"; const BroadcasterSubscriptionId = "LoginComponent"; @@ -122,7 +122,7 @@ export class LoginComponent implements OnInit, OnDestroy { private formBuilder: FormBuilder, private i18nService: I18nService, private loginEmailService: LoginEmailServiceAbstraction, - private loginService: LoginService, + private loginService: LoginComponentService, private loginStrategyService: LoginStrategyServiceAbstraction, private messagingService: MessagingService, private ngZone: NgZone,