cleanup & comments
This commit is contained in:
parent
e076e94c08
commit
66072f66e8
|
@ -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" +
|
||||||
|
|
|
@ -564,7 +564,7 @@ const safeProviders: SafeProvider[] = [
|
||||||
safeProvider({
|
safeProvider({
|
||||||
provide: LoginService,
|
provide: LoginService,
|
||||||
useClass: ExtensionLoginService,
|
useClass: ExtensionLoginService,
|
||||||
deps: [I18nServiceAbstraction, ToastService],
|
deps: [],
|
||||||
}),
|
}),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -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: [],
|
||||||
}),
|
}),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1313,7 +1313,7 @@ const safeProviders: SafeProvider[] = [
|
||||||
safeProvider({
|
safeProvider({
|
||||||
provide: LoginService,
|
provide: LoginService,
|
||||||
useClass: DefaultLoginService,
|
useClass: DefaultLoginService,
|
||||||
deps: [I18nServiceAbstraction, ToastService],
|
deps: [],
|
||||||
}),
|
}),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue