diff options
| author | kamtschatka <simon.schatka@gmx.at> | 2024-10-12 15:27:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-12 14:27:21 +0100 |
| commit | 9f87207d668fbe0a2039c63803128fbe5916f993 (patch) | |
| tree | 08e1fff219e204258ebbf1732ddf22bff145714d /packages/trpc/routers/apiKeys.ts | |
| parent | 02a5b35a30845268cfaa814bb045d0ec800dc538 (diff) | |
| download | karakeep-9f87207d668fbe0a2039c63803128fbe5916f993.tar.zst | |
feature: Allow to disable default password login after SSO is configured. Fixes #406 (#502)
* [Feature Request] Allow to disable default password log in after SSO is configured #406
changed the flag to also disallow logging in via password
The extensions will also no longer be allowed to log in via username/password then
* [Feature Request] Allow to disable default password log in after SSO is configured #406
added the error message for OAuth
Diffstat (limited to 'packages/trpc/routers/apiKeys.ts')
| -rw-r--r-- | packages/trpc/routers/apiKeys.ts | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/packages/trpc/routers/apiKeys.ts b/packages/trpc/routers/apiKeys.ts index 81e3bb2b..b7468dd2 100644 --- a/packages/trpc/routers/apiKeys.ts +++ b/packages/trpc/routers/apiKeys.ts @@ -3,6 +3,7 @@ import { and, eq } from "drizzle-orm"; import { z } from "zod"; import { apiKeys } from "@hoarder/db/schema"; +import serverConfig from "@hoarder/shared/config"; import { authenticateApiKey, generateApiKey, validatePassword } from "../auth"; import { authedProcedure, publicProcedure, router } from "../index"; @@ -74,6 +75,13 @@ export const apiKeysAppRouter = router({ .output(zApiKeySchema) .mutation(async ({ input }) => { let user; + // Special handling as otherwise the extension would show "username or password is wrong" + if (serverConfig.auth.disablePasswordAuth) { + throw new TRPCError({ + message: "Password authentication is currently disabled", + code: "FORBIDDEN", + }); + } try { user = await validatePassword(input.email, input.password); } catch (e) { |
