mirror of
https://github.com/bitwarden/browser
synced 2025-12-11 05:43:41 +00:00
[Pm-13097] Rename cryptoservice to keyservice and move it to km ownership (#11358)
* Rename cryptoservice to keyservice * Rename cryptoservice to keyservice * Move key service to key management ownership * Remove accidentally added file * Fix cli build * Fix browser build * Run prettier * Fix builds * Fix cli build * Fix tests * Fix incorrect renames * Rename webauthn-login-crypto-service * Fix build errors due to merge conflicts * Fix linting
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
export { CryptoServiceRandomizer } from "./crypto-service-randomizer";
|
||||
export { KeyServiceRandomizer } from "./key-service-randomizer";
|
||||
export { ForwarderConfiguration, AccountRequest } from "./forwarder-configuration";
|
||||
export { ForwarderContext } from "./forwarder-context";
|
||||
export * from "./settings";
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { mock } from "jest-mock-extended";
|
||||
|
||||
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
|
||||
import { KeyService } from "@bitwarden/key-management";
|
||||
|
||||
import { CryptoServiceRandomizer } from "./crypto-service-randomizer";
|
||||
import { KeyServiceRandomizer } from "./key-service-randomizer";
|
||||
|
||||
describe("CryptoServiceRandomizer", () => {
|
||||
const cryptoService = mock<CryptoService>();
|
||||
describe("KeyServiceRandomizer", () => {
|
||||
const keyService = mock<KeyService>();
|
||||
|
||||
afterEach(() => {
|
||||
jest.resetAllMocks();
|
||||
@@ -13,7 +13,7 @@ describe("CryptoServiceRandomizer", () => {
|
||||
|
||||
describe("pick", () => {
|
||||
it.each([[null], [undefined], [[]]])("throws when the list is %p", async (list) => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
|
||||
await expect(() => randomizer.pick(list)).rejects.toBeInstanceOf(Error);
|
||||
|
||||
@@ -21,8 +21,8 @@ describe("CryptoServiceRandomizer", () => {
|
||||
});
|
||||
|
||||
it("picks an item from the list", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
cryptoService.randomNumber.mockResolvedValue(1);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
keyService.randomNumber.mockResolvedValue(1);
|
||||
|
||||
const result = await randomizer.pick([0, 1]);
|
||||
|
||||
@@ -32,7 +32,7 @@ describe("CryptoServiceRandomizer", () => {
|
||||
|
||||
describe("pickWord", () => {
|
||||
it.each([[null], [undefined], [[]]])("throws when the list is %p", async (list) => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
|
||||
await expect(() => randomizer.pickWord(list)).rejects.toBeInstanceOf(Error);
|
||||
|
||||
@@ -40,8 +40,8 @@ describe("CryptoServiceRandomizer", () => {
|
||||
});
|
||||
|
||||
it("picks a word from the list", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
cryptoService.randomNumber.mockResolvedValue(1);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
keyService.randomNumber.mockResolvedValue(1);
|
||||
|
||||
const result = await randomizer.pickWord(["foo", "bar"]);
|
||||
|
||||
@@ -49,8 +49,8 @@ describe("CryptoServiceRandomizer", () => {
|
||||
});
|
||||
|
||||
it("capitalizes the word when options.titleCase is true", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
cryptoService.randomNumber.mockResolvedValue(1);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
keyService.randomNumber.mockResolvedValue(1);
|
||||
|
||||
const result = await randomizer.pickWord(["foo", "bar"], { titleCase: true });
|
||||
|
||||
@@ -58,9 +58,9 @@ describe("CryptoServiceRandomizer", () => {
|
||||
});
|
||||
|
||||
it("appends a random number when options.number is true", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
cryptoService.randomNumber.mockResolvedValueOnce(1);
|
||||
cryptoService.randomNumber.mockResolvedValueOnce(2);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
keyService.randomNumber.mockResolvedValueOnce(1);
|
||||
keyService.randomNumber.mockResolvedValueOnce(2);
|
||||
|
||||
const result = await randomizer.pickWord(["foo", "bar"], { number: true });
|
||||
|
||||
@@ -70,7 +70,7 @@ describe("CryptoServiceRandomizer", () => {
|
||||
|
||||
describe("shuffle", () => {
|
||||
it.each([[null], [undefined], [[]]])("throws when the list is %p", async (list) => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
|
||||
await expect(() => randomizer.shuffle(list)).rejects.toBeInstanceOf(Error);
|
||||
|
||||
@@ -78,18 +78,18 @@ describe("CryptoServiceRandomizer", () => {
|
||||
});
|
||||
|
||||
it("returns a copy of the list without shuffling it when theres only one entry", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
|
||||
const result = await randomizer.shuffle(["foo"]);
|
||||
|
||||
expect(result).toEqual(["foo"]);
|
||||
expect(result).not.toBe(["foo"]);
|
||||
expect(cryptoService.randomNumber).not.toHaveBeenCalled();
|
||||
expect(keyService.randomNumber).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("shuffles the tail of the list", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
cryptoService.randomNumber.mockResolvedValueOnce(0);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
keyService.randomNumber.mockResolvedValueOnce(0);
|
||||
|
||||
const result = await randomizer.shuffle(["bar", "foo"]);
|
||||
|
||||
@@ -97,9 +97,9 @@ describe("CryptoServiceRandomizer", () => {
|
||||
});
|
||||
|
||||
it("shuffles the list", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
cryptoService.randomNumber.mockResolvedValueOnce(0);
|
||||
cryptoService.randomNumber.mockResolvedValueOnce(1);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
keyService.randomNumber.mockResolvedValueOnce(0);
|
||||
keyService.randomNumber.mockResolvedValueOnce(1);
|
||||
|
||||
const result = await randomizer.shuffle(["baz", "bar", "foo"]);
|
||||
|
||||
@@ -107,8 +107,8 @@ describe("CryptoServiceRandomizer", () => {
|
||||
});
|
||||
|
||||
it("returns the input list when options.copy is false", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
cryptoService.randomNumber.mockResolvedValueOnce(0);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
keyService.randomNumber.mockResolvedValueOnce(0);
|
||||
|
||||
const expectedResult = ["foo"];
|
||||
const result = await randomizer.shuffle(expectedResult, { copy: false });
|
||||
@@ -119,7 +119,7 @@ describe("CryptoServiceRandomizer", () => {
|
||||
|
||||
describe("chars", () => {
|
||||
it("returns an empty string when the length is 0", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
|
||||
const result = await randomizer.chars(0);
|
||||
|
||||
@@ -127,8 +127,8 @@ describe("CryptoServiceRandomizer", () => {
|
||||
});
|
||||
|
||||
it("returns an arbitrary lowercase ascii character", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
cryptoService.randomNumber.mockResolvedValueOnce(0);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
keyService.randomNumber.mockResolvedValueOnce(0);
|
||||
|
||||
const result = await randomizer.chars(1);
|
||||
|
||||
@@ -136,38 +136,38 @@ describe("CryptoServiceRandomizer", () => {
|
||||
});
|
||||
|
||||
it("returns a number of ascii characters based on the length", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
cryptoService.randomNumber.mockResolvedValue(0);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
keyService.randomNumber.mockResolvedValue(0);
|
||||
|
||||
const result = await randomizer.chars(2);
|
||||
|
||||
expect(result).toEqual("aa");
|
||||
expect(cryptoService.randomNumber).toHaveBeenCalledTimes(2);
|
||||
expect(keyService.randomNumber).toHaveBeenCalledTimes(2);
|
||||
});
|
||||
|
||||
it("returns a new random character each time its called", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
cryptoService.randomNumber.mockResolvedValueOnce(0);
|
||||
cryptoService.randomNumber.mockResolvedValueOnce(1);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
keyService.randomNumber.mockResolvedValueOnce(0);
|
||||
keyService.randomNumber.mockResolvedValueOnce(1);
|
||||
|
||||
const resultA = await randomizer.chars(1);
|
||||
const resultB = await randomizer.chars(1);
|
||||
|
||||
expect(resultA).toEqual("a");
|
||||
expect(resultB).toEqual("b");
|
||||
expect(cryptoService.randomNumber).toHaveBeenCalledTimes(2);
|
||||
expect(keyService.randomNumber).toHaveBeenCalledTimes(2);
|
||||
});
|
||||
});
|
||||
|
||||
describe("uniform", () => {
|
||||
it("forwards requests to the crypto service", async () => {
|
||||
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
||||
cryptoService.randomNumber.mockResolvedValue(5);
|
||||
const randomizer = new KeyServiceRandomizer(keyService);
|
||||
keyService.randomNumber.mockResolvedValue(5);
|
||||
|
||||
const result = await randomizer.uniform(0, 5);
|
||||
|
||||
expect(result).toBe(5);
|
||||
expect(cryptoService.randomNumber).toHaveBeenCalledWith(0, 5);
|
||||
expect(keyService.randomNumber).toHaveBeenCalledWith(0, 5);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -1,14 +1,14 @@
|
||||
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
|
||||
import { KeyService } from "@bitwarden/key-management";
|
||||
|
||||
import { Randomizer } from "../abstractions";
|
||||
import { WordOptions } from "../types";
|
||||
|
||||
/** A randomizer backed by a CryptoService. */
|
||||
export class CryptoServiceRandomizer implements Randomizer {
|
||||
/** A randomizer backed by a KeyService. */
|
||||
export class KeyServiceRandomizer implements Randomizer {
|
||||
/** instantiates the type.
|
||||
* @param crypto generates random numbers
|
||||
* @param keyService generates random numbers
|
||||
*/
|
||||
constructor(private crypto: CryptoService) {}
|
||||
constructor(private keyService: KeyService) {}
|
||||
|
||||
async pick<Entry>(list: Array<Entry>): Promise<Entry> {
|
||||
const length = list?.length ?? 0;
|
||||
@@ -28,7 +28,7 @@ export class CryptoServiceRandomizer implements Randomizer {
|
||||
}
|
||||
|
||||
if (options?.number ?? false) {
|
||||
const num = await this.crypto.randomNumber(1, 9);
|
||||
const num = await this.keyService.randomNumber(1, 9);
|
||||
word = word + num.toString();
|
||||
}
|
||||
|
||||
@@ -63,6 +63,6 @@ export class CryptoServiceRandomizer implements Randomizer {
|
||||
}
|
||||
|
||||
async uniform(min: number, max: number) {
|
||||
return this.crypto.randomNumber(min, max);
|
||||
return this.keyService.randomNumber(min, max);
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
// contains logic that constructs generator services dynamically given
|
||||
// a generator id.
|
||||
|
||||
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
|
||||
import { KeyService } from "@bitwarden/key-management";
|
||||
|
||||
import { Randomizer } from "./abstractions";
|
||||
import { CryptoServiceRandomizer } from "./engine/crypto-service-randomizer";
|
||||
import { KeyServiceRandomizer } from "./engine/key-service-randomizer";
|
||||
|
||||
export function createRandomizer(cryptoService: CryptoService): Randomizer {
|
||||
return new CryptoServiceRandomizer(cryptoService);
|
||||
export function createRandomizer(keyService: KeyService): Randomizer {
|
||||
return new KeyServiceRandomizer(keyService);
|
||||
}
|
||||
|
||||
@@ -5,13 +5,13 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service";
|
||||
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
|
||||
import { PolicyType } from "@bitwarden/common/admin-console/enums";
|
||||
import { Policy } from "@bitwarden/common/admin-console/models/domain/policy";
|
||||
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
|
||||
import { EncryptService } from "@bitwarden/common/platform/abstractions/encrypt.service";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import { GENERATOR_DISK, UserKeyDefinition } from "@bitwarden/common/platform/state";
|
||||
import { StateConstraints } from "@bitwarden/common/tools/types";
|
||||
import { OrganizationId, PolicyId, UserId } from "@bitwarden/common/types/guid";
|
||||
import { UserKey } from "@bitwarden/common/types/key";
|
||||
import { KeyService } from "@bitwarden/key-management";
|
||||
|
||||
import {
|
||||
FakeStateProvider,
|
||||
@@ -175,7 +175,7 @@ const apiService = mock<ApiService>();
|
||||
|
||||
const encryptService = mock<EncryptService>();
|
||||
|
||||
const cryptoService = mock<CryptoService>();
|
||||
const keyService = mock<KeyService>();
|
||||
|
||||
describe("CredentialGeneratorService", () => {
|
||||
beforeEach(async () => {
|
||||
@@ -184,7 +184,7 @@ describe("CredentialGeneratorService", () => {
|
||||
i18nService.t.mockImplementation((key) => key);
|
||||
apiService.fetch.mockImplementation(() => Promise.resolve(mock<Response>()));
|
||||
const keyAvailable = new BehaviorSubject({} as UserKey);
|
||||
cryptoService.userKey$.mockReturnValue(keyAvailable);
|
||||
keyService.userKey$.mockReturnValue(keyAvailable);
|
||||
jest.clearAllMocks();
|
||||
});
|
||||
|
||||
@@ -199,7 +199,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const generated = new ObservableTracker(generator.generate$(SomeConfiguration));
|
||||
|
||||
@@ -220,7 +220,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const generated = new ObservableTracker(generator.generate$(SomeConfiguration));
|
||||
|
||||
@@ -245,7 +245,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const generated = new ObservableTracker(generator.generate$(SomeConfiguration));
|
||||
|
||||
@@ -273,7 +273,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const website$ = new BehaviorSubject("some website");
|
||||
const generated = new ObservableTracker(generator.generate$(SomeConfiguration, { website$ }));
|
||||
@@ -294,7 +294,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const website$ = new BehaviorSubject("some website");
|
||||
let error = null;
|
||||
@@ -319,7 +319,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const website$ = new BehaviorSubject("some website");
|
||||
let completed = false;
|
||||
@@ -345,7 +345,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId$ = new BehaviorSubject(AnotherUser).asObservable();
|
||||
const generated = new ObservableTracker(generator.generate$(SomeConfiguration, { userId$ }));
|
||||
@@ -365,7 +365,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.pipe(filter((u) => !!u));
|
||||
@@ -389,7 +389,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId$ = new BehaviorSubject(SomeUser);
|
||||
let error = null;
|
||||
@@ -414,7 +414,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId$ = new BehaviorSubject(SomeUser);
|
||||
let completed = false;
|
||||
@@ -440,7 +440,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const on$ = new Subject<void>();
|
||||
const results: any[] = [];
|
||||
@@ -482,7 +482,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const on$ = new Subject<void>();
|
||||
let error: any = null;
|
||||
@@ -508,7 +508,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const on$ = new Subject<void>();
|
||||
let complete = false;
|
||||
@@ -539,7 +539,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = generator.algorithms("password");
|
||||
@@ -560,7 +560,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = generator.algorithms("username");
|
||||
@@ -580,7 +580,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = generator.algorithms("email");
|
||||
@@ -601,7 +601,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = generator.algorithms(["username", "email"]);
|
||||
@@ -626,7 +626,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = await firstValueFrom(generator.algorithms$("password"));
|
||||
@@ -643,7 +643,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = await firstValueFrom(generator.algorithms$("username"));
|
||||
@@ -659,7 +659,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = await firstValueFrom(generator.algorithms$("email"));
|
||||
@@ -676,7 +676,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = await firstValueFrom(generator.algorithms$(["username", "email"]));
|
||||
@@ -698,7 +698,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = await firstValueFrom(generator.algorithms$(["password"]));
|
||||
@@ -723,7 +723,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const results: any = [];
|
||||
const sub = generator.algorithms$("password").subscribe((r) => results.push(r));
|
||||
@@ -760,7 +760,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId$ = new BehaviorSubject(AnotherUser).asObservable();
|
||||
|
||||
@@ -781,7 +781,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
@@ -811,7 +811,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
@@ -837,7 +837,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
@@ -863,7 +863,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
@@ -895,7 +895,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = await firstValueFrom(generator.settings$(SomeConfiguration));
|
||||
@@ -913,7 +913,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = await firstValueFrom(generator.settings$(SomeConfiguration));
|
||||
@@ -933,7 +933,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
const result = await firstValueFrom(generator.settings$(SomeConfiguration));
|
||||
@@ -958,7 +958,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const results: any = [];
|
||||
const sub = generator.settings$(SomeConfiguration).subscribe((r) => results.push(r));
|
||||
@@ -983,7 +983,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId$ = new BehaviorSubject(AnotherUser).asObservable();
|
||||
|
||||
@@ -1004,7 +1004,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
@@ -1031,7 +1031,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
@@ -1057,7 +1057,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
@@ -1083,7 +1083,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
@@ -1115,7 +1115,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const subject = await generator.settings(SomeConfiguration, { singleUserId$ });
|
||||
|
||||
@@ -1136,7 +1136,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
|
||||
let completed = false;
|
||||
@@ -1162,7 +1162,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId$ = new BehaviorSubject(SomeUser).asObservable();
|
||||
|
||||
@@ -1179,7 +1179,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId$ = new BehaviorSubject(SomeUser).asObservable();
|
||||
const policy$ = new BehaviorSubject([somePolicy]);
|
||||
@@ -1198,7 +1198,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
@@ -1227,7 +1227,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
@@ -1257,7 +1257,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
@@ -1283,7 +1283,7 @@ describe("CredentialGeneratorService", () => {
|
||||
apiService,
|
||||
i18nService,
|
||||
encryptService,
|
||||
cryptoService,
|
||||
keyService,
|
||||
);
|
||||
const userId = new BehaviorSubject(SomeUser);
|
||||
const userId$ = userId.asObservable();
|
||||
|
||||
@@ -23,7 +23,6 @@ import { Simplify } from "type-fest";
|
||||
import { ApiService } from "@bitwarden/common/abstractions/api.service";
|
||||
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
|
||||
import { PolicyType } from "@bitwarden/common/admin-console/enums";
|
||||
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
|
||||
import { EncryptService } from "@bitwarden/common/platform/abstractions/encrypt.service";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import { StateProvider } from "@bitwarden/common/platform/state";
|
||||
@@ -41,6 +40,7 @@ import { UserEncryptor } from "@bitwarden/common/tools/state/user-encryptor.abst
|
||||
import { UserKeyEncryptor } from "@bitwarden/common/tools/state/user-key-encryptor";
|
||||
import { UserStateSubject } from "@bitwarden/common/tools/state/user-state-subject";
|
||||
import { UserId } from "@bitwarden/common/types/guid";
|
||||
import { KeyService } from "@bitwarden/key-management";
|
||||
|
||||
import { Randomizer } from "../abstractions";
|
||||
import {
|
||||
@@ -97,7 +97,7 @@ export class CredentialGeneratorService {
|
||||
private readonly apiService: ApiService,
|
||||
private readonly i18nService: I18nService,
|
||||
private readonly encryptService: EncryptService,
|
||||
private readonly cryptoService: CryptoService,
|
||||
private readonly keyService: KeyService,
|
||||
) {}
|
||||
|
||||
private getDependencyProvider(): GeneratorDependencyProvider {
|
||||
@@ -272,7 +272,7 @@ export class CredentialGeneratorService {
|
||||
|
||||
private encryptor$(userId: UserId) {
|
||||
const packer = new PaddedDataPacker(OPTIONS_FRAME_SIZE);
|
||||
const encryptor$ = this.cryptoService.userKey$(userId).pipe(
|
||||
const encryptor$ = this.keyService.userKey$(userId).pipe(
|
||||
// complete when the account locks
|
||||
takeWhile((key) => !!key),
|
||||
map((key) => {
|
||||
|
||||
@@ -5,13 +5,13 @@ import { PolicyType } from "@bitwarden/common/admin-console/enums";
|
||||
// FIXME: use index.ts imports once policy abstractions and models
|
||||
// implement ADR-0002
|
||||
import { Policy } from "@bitwarden/common/admin-console/models/domain/policy";
|
||||
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
|
||||
import { EncryptService } from "@bitwarden/common/platform/abstractions/encrypt.service";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import { RestClient } from "@bitwarden/common/tools/integration/rpc";
|
||||
import { BufferedState } from "@bitwarden/common/tools/state/buffered-state";
|
||||
import { UserId } from "@bitwarden/common/types/guid";
|
||||
import { UserKey } from "@bitwarden/common/types/key";
|
||||
import { KeyService } from "@bitwarden/key-management";
|
||||
|
||||
import { FakeStateProvider, mockAccountServiceWith } from "../../../../../common/spec";
|
||||
import { AddyIo, Fastmail, FirefoxRelay } from "../integration";
|
||||
@@ -30,7 +30,7 @@ const SomePolicy = mock<Policy>({
|
||||
|
||||
describe("ForwarderGeneratorStrategy", () => {
|
||||
const encryptService = mock<EncryptService>();
|
||||
const keyService = mock<CryptoService>();
|
||||
const keyService = mock<KeyService>();
|
||||
const stateProvider = new FakeStateProvider(mockAccountServiceWith(SomeUser));
|
||||
const restClient = mock<RestClient>();
|
||||
const i18nService = mock<I18nService>();
|
||||
|
||||
@@ -2,7 +2,6 @@ import { filter, map } from "rxjs";
|
||||
import { Jsonify } from "type-fest";
|
||||
|
||||
import { PolicyType } from "@bitwarden/common/admin-console/enums";
|
||||
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
|
||||
import { EncryptService } from "@bitwarden/common/platform/abstractions/encrypt.service";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import { SingleUserState, StateProvider } from "@bitwarden/common/platform/state";
|
||||
@@ -17,6 +16,7 @@ import { SecretKeyDefinition } from "@bitwarden/common/tools/state/secret-key-de
|
||||
import { SecretState } from "@bitwarden/common/tools/state/secret-state";
|
||||
import { UserKeyEncryptor } from "@bitwarden/common/tools/state/user-key-encryptor";
|
||||
import { UserId } from "@bitwarden/common/types/guid";
|
||||
import { KeyService } from "@bitwarden/key-management";
|
||||
|
||||
import { GeneratorStrategy } from "../abstractions";
|
||||
import { ForwarderConfiguration, AccountRequest, ForwarderContext } from "../engine";
|
||||
@@ -45,7 +45,7 @@ export class ForwarderGeneratorStrategy<
|
||||
private client: RestClient,
|
||||
private i18nService: I18nService,
|
||||
private readonly encryptService: EncryptService,
|
||||
private readonly keyService: CryptoService,
|
||||
private readonly keyService: KeyService,
|
||||
private stateProvider: StateProvider,
|
||||
) {
|
||||
super();
|
||||
|
||||
Reference in New Issue
Block a user