From 1dd768e694ce82d069ec5a301718e23da2873d51 Mon Sep 17 00:00:00 2001 From: Thomas Rittson Date: Tue, 11 Mar 2025 12:55:32 +1000 Subject: [PATCH] Stub out opaque services --- .../src/auth/opaque/default-opaque.service.ts | 18 ++++++++++++++++++ .../src/auth/opaque/opaque-api.service.ts | 6 ++++++ libs/common/src/auth/opaque/opaque.service.ts | 14 ++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 libs/common/src/auth/opaque/default-opaque.service.ts create mode 100644 libs/common/src/auth/opaque/opaque-api.service.ts create mode 100644 libs/common/src/auth/opaque/opaque.service.ts diff --git a/libs/common/src/auth/opaque/default-opaque.service.ts b/libs/common/src/auth/opaque/default-opaque.service.ts new file mode 100644 index 00000000000..2294cf038b5 --- /dev/null +++ b/libs/common/src/auth/opaque/default-opaque.service.ts @@ -0,0 +1,18 @@ +import { UserKey } from "../../types/key"; + +import { OpaqueApiService } from "./opaque-api.service"; +import { OpaqueService } from "./opaque.service"; + +export class DefaultOpaqueService implements OpaqueService { + constructor(private opaqueApiService: OpaqueApiService) {} + + async Register(masterPassword: string, userKey: UserKey) { + throw new Error("Not implemented"); + await Promise.resolve(); + } + + async Login(masterPassword: string) { + throw new Error("Not implemented"); + return await Promise.resolve(null as unknown as UserKey); + } +} diff --git a/libs/common/src/auth/opaque/opaque-api.service.ts b/libs/common/src/auth/opaque/opaque-api.service.ts new file mode 100644 index 00000000000..d9ca05ade42 --- /dev/null +++ b/libs/common/src/auth/opaque/opaque-api.service.ts @@ -0,0 +1,6 @@ +export abstract class OpaqueApiService { + abstract StartRegistration(): any; + abstract FinishRegistration(): any; + abstract StartLogin(): any; + abstract FinishLogin(): any; +} diff --git a/libs/common/src/auth/opaque/opaque.service.ts b/libs/common/src/auth/opaque/opaque.service.ts new file mode 100644 index 00000000000..c7ee949c571 --- /dev/null +++ b/libs/common/src/auth/opaque/opaque.service.ts @@ -0,0 +1,14 @@ +import { UserKey } from "../../types/key"; + +export abstract class OpaqueService { + /** + * Register a user to use the Opaque login method. + */ + abstract Register(masterPassword: string, userKey: UserKey): Promise; + + /** + * Authenticate using the Opaque login method. + * @returns The UserKey obtained during the Opaque login flow. + */ + abstract Login(masterPassword: string): Promise; +}