cleanup & comments

This commit is contained in:
rr-bw 2024-09-14 10:59:43 -07:00
parent e076e94c08
commit 66072f66e8
No known key found for this signature in database
GPG Key ID: 3FA13C3ADEE51D5D
5 changed files with 9 additions and 18 deletions

View File

@ -13,6 +13,7 @@ import { flagEnabled } from "../../../platform/flags"; // TODO-rr-bw: do I need
export class ExtensionLoginService extends DefaultLoginService implements LoginService { export class ExtensionLoginService extends DefaultLoginService implements LoginService {
ssoLoginService = inject(SsoLoginServiceAbstraction); ssoLoginService = inject(SsoLoginServiceAbstraction);
// TODO-rr-bw: refactor to not use deprecated service
passwordGenerationService = inject(PasswordGenerationServiceAbstraction); passwordGenerationService = inject(PasswordGenerationServiceAbstraction);
cryptoFunctionService = inject(CryptoFunctionService); cryptoFunctionService = inject(CryptoFunctionService);
environmentService = inject(EnvironmentService); environmentService = inject(EnvironmentService);
@ -23,10 +24,10 @@ export class ExtensionLoginService extends DefaultLoginService implements LoginS
} }
async launchSsoBrowserWindow(email: string): Promise<void | null> { async launchSsoBrowserWindow(email: string): Promise<void | null> {
// Save off email for SSO // Save email for SSO
await this.ssoLoginService.setSsoEmail(email); await this.ssoLoginService.setSsoEmail(email);
// Generate necessary sso params // Generate SSO params
const passwordOptions: any = { const passwordOptions: any = {
type: "password", type: "password",
length: 64, length: 64,
@ -35,7 +36,6 @@ export class ExtensionLoginService extends DefaultLoginService implements LoginS
numbers: true, numbers: true,
special: false, special: false,
}; };
const state = const state =
(await this.passwordGenerationService.generatePassword(passwordOptions)) + (await this.passwordGenerationService.generatePassword(passwordOptions)) +
":clientId=browser"; ":clientId=browser";
@ -43,20 +43,20 @@ export class ExtensionLoginService extends DefaultLoginService implements LoginS
const codeVerifierHash = await this.cryptoFunctionService.hash(codeVerifier, "sha256"); const codeVerifierHash = await this.cryptoFunctionService.hash(codeVerifier, "sha256");
const codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash); const codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);
// Save SSO params
await this.ssoLoginService.setCodeVerifier(codeVerifier); await this.ssoLoginService.setCodeVerifier(codeVerifier);
await this.ssoLoginService.setSsoState(state); await this.ssoLoginService.setSsoState(state);
// Build URL
const env = await firstValueFrom(this.environmentService.environment$); const env = await firstValueFrom(this.environmentService.environment$);
let url = env.getWebVaultUrl(); let url = env.getWebVaultUrl();
if (url == null) { if (url == null) {
url = "https://vault.bitwarden.com"; url = "https://vault.bitwarden.com";
} }
const redirectUri = url + "/sso-connector.html"; const redirectUri = url + "/sso-connector.html";
// Launch browser // Launch browser window with URL
this.platformUtilsService.launchUri( this.platformUtilsService.launchUri(
url + url +
"/#/sso?clientId=browser" + "/#/sso?clientId=browser" +

View File

@ -564,7 +564,7 @@ const safeProviders: SafeProvider[] = [
safeProvider({ safeProvider({
provide: LoginService, provide: LoginService,
useClass: ExtensionLoginService, useClass: ExtensionLoginService,
deps: [I18nServiceAbstraction, ToastService], deps: [],
}), }),
]; ];

View File

@ -59,7 +59,6 @@ import {
ThemeStateService, ThemeStateService,
} from "@bitwarden/common/platform/theming/theme-state.service"; } from "@bitwarden/common/platform/theming/theme-state.service";
import { VaultTimeout, VaultTimeoutStringType } from "@bitwarden/common/types/vault-timeout.type"; 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 { PolicyListService } from "../admin-console/core/policy-list.service";
import { WebSetPasswordJitService, WebRegistrationFinishService, WebLoginService } from "../auth"; import { WebSetPasswordJitService, WebRegistrationFinishService, WebLoginService } from "../auth";
@ -219,7 +218,7 @@ const safeProviders: SafeProvider[] = [
safeProvider({ safeProvider({
provide: LoginService, provide: LoginService,
useClass: WebLoginService, useClass: WebLoginService,
deps: [I18nServiceAbstraction, ToastService], deps: [],
}), }),
]; ];

View File

@ -1313,7 +1313,7 @@ const safeProviders: SafeProvider[] = [
safeProvider({ safeProvider({
provide: LoginService, provide: LoginService,
useClass: DefaultLoginService, useClass: DefaultLoginService,
deps: [I18nServiceAbstraction, ToastService], deps: [],
}), }),
]; ];

View File

@ -1,16 +1,8 @@
import { UrlTree } from "@angular/router"; 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"; import { LoginService, PasswordPolicies } from "./login.service";
export class DefaultLoginService implements LoginService { export class DefaultLoginService implements LoginService {
constructor(
protected i18nService: I18nService,
protected toastService: ToastService,
) {}
async launchSsoBrowserWindow(email: string): Promise<void | null> { async launchSsoBrowserWindow(email: string): Promise<void | null> {
return null; return null;
} }