diff --git a/apps/browser/src/auth/popup/login/extension-login.service.ts b/apps/browser/src/auth/popup/login/extension-login.service.ts index 9b902084df..8a94bf5ed1 100644 --- a/apps/browser/src/auth/popup/login/extension-login.service.ts +++ b/apps/browser/src/auth/popup/login/extension-login.service.ts @@ -13,6 +13,7 @@ import { flagEnabled } from "../../../platform/flags"; // TODO-rr-bw: do I need export class ExtensionLoginService extends DefaultLoginService implements LoginService { ssoLoginService = inject(SsoLoginServiceAbstraction); + // TODO-rr-bw: refactor to not use deprecated service passwordGenerationService = inject(PasswordGenerationServiceAbstraction); cryptoFunctionService = inject(CryptoFunctionService); environmentService = inject(EnvironmentService); @@ -23,10 +24,10 @@ export class ExtensionLoginService extends DefaultLoginService implements LoginS } async launchSsoBrowserWindow(email: string): Promise { - // Save off email for SSO + // Save email for SSO await this.ssoLoginService.setSsoEmail(email); - // Generate necessary sso params + // Generate SSO params const passwordOptions: any = { type: "password", length: 64, @@ -35,7 +36,6 @@ export class ExtensionLoginService extends DefaultLoginService implements LoginS numbers: true, special: false, }; - const state = (await this.passwordGenerationService.generatePassword(passwordOptions)) + ":clientId=browser"; @@ -43,20 +43,20 @@ export class ExtensionLoginService extends DefaultLoginService implements LoginS const codeVerifierHash = await this.cryptoFunctionService.hash(codeVerifier, "sha256"); const codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash); + // Save SSO params await this.ssoLoginService.setCodeVerifier(codeVerifier); await this.ssoLoginService.setSsoState(state); + // Build URL const env = await firstValueFrom(this.environmentService.environment$); - let url = env.getWebVaultUrl(); - if (url == null) { url = "https://vault.bitwarden.com"; } const redirectUri = url + "/sso-connector.html"; - // Launch browser + // Launch browser window with URL this.platformUtilsService.launchUri( url + "/#/sso?clientId=browser" + diff --git a/apps/browser/src/popup/services/services.module.ts b/apps/browser/src/popup/services/services.module.ts index 34f9e691bf..51fca5d1b8 100644 --- a/apps/browser/src/popup/services/services.module.ts +++ b/apps/browser/src/popup/services/services.module.ts @@ -564,7 +564,7 @@ const safeProviders: SafeProvider[] = [ safeProvider({ provide: LoginService, useClass: ExtensionLoginService, - deps: [I18nServiceAbstraction, ToastService], + deps: [], }), ]; diff --git a/apps/web/src/app/core/core.module.ts b/apps/web/src/app/core/core.module.ts index 2beea573e5..2dac6779d0 100644 --- a/apps/web/src/app/core/core.module.ts +++ b/apps/web/src/app/core/core.module.ts @@ -59,7 +59,6 @@ import { ThemeStateService, } from "@bitwarden/common/platform/theming/theme-state.service"; import { VaultTimeout, VaultTimeoutStringType } from "@bitwarden/common/types/vault-timeout.type"; -import { ToastService } from "@bitwarden/components"; import { PolicyListService } from "../admin-console/core/policy-list.service"; import { WebSetPasswordJitService, WebRegistrationFinishService, WebLoginService } from "../auth"; @@ -219,7 +218,7 @@ const safeProviders: SafeProvider[] = [ safeProvider({ provide: LoginService, useClass: WebLoginService, - deps: [I18nServiceAbstraction, ToastService], + deps: [], }), ]; diff --git a/libs/angular/src/services/jslib-services.module.ts b/libs/angular/src/services/jslib-services.module.ts index 3f092bee71..164590adbf 100644 --- a/libs/angular/src/services/jslib-services.module.ts +++ b/libs/angular/src/services/jslib-services.module.ts @@ -1313,7 +1313,7 @@ const safeProviders: SafeProvider[] = [ safeProvider({ provide: LoginService, useClass: DefaultLoginService, - deps: [I18nServiceAbstraction, ToastService], + deps: [], }), ]; diff --git a/libs/auth/src/angular/login/default-login.service.ts b/libs/auth/src/angular/login/default-login.service.ts index 674c08e7cf..6a7151023c 100644 --- a/libs/auth/src/angular/login/default-login.service.ts +++ b/libs/auth/src/angular/login/default-login.service.ts @@ -1,16 +1,8 @@ import { UrlTree } from "@angular/router"; -import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; -import { ToastService } from "@bitwarden/components"; - import { LoginService, PasswordPolicies } from "./login.service"; export class DefaultLoginService implements LoginService { - constructor( - protected i18nService: I18nService, - protected toastService: ToastService, - ) {} - async launchSsoBrowserWindow(email: string): Promise { return null; }