aboutsummaryrefslogtreecommitdiffstats
path: root/packages/trpc/auth.ts
diff options
context:
space:
mode:
authorkamtschatka <simon.schatka@gmx.at>2024-10-19 22:24:26 +0200
committerGitHub <noreply@github.com>2024-10-19 21:24:26 +0100
commit0debc6b415baa466245901fb52c009d09ef3ba15 (patch)
tree8590ad3849dd2652dd567308f9cc9ace125c691d /packages/trpc/auth.ts
parente55362ec57f2a20ed096f971e769269b6f8211c8 (diff)
downloadkarakeep-0debc6b415baa466245901fb52c009d09ef3ba15.tar.zst
feature: Log authentication failures to support fail2ban. Fixes #477 (#569)
* How do I set the variable "user" or "system" for AI inference #262 changed from system to user * [Feature Request] Log failed login attempts for fail2ban implementation #477 added logging of failed logins * [Feature Request] Log failed login attempts for fail2ban implementation #477 added more logging for extension related logins * Propagte IP to trpc --------- Co-authored-by: Your Name <you@example.com>
Diffstat (limited to 'packages/trpc/auth.ts')
-rw-r--r--packages/trpc/auth.ts11
1 files changed, 11 insertions, 0 deletions
diff --git a/packages/trpc/auth.ts b/packages/trpc/auth.ts
index 39aebd3b..1efbdde6 100644
--- a/packages/trpc/auth.ts
+++ b/packages/trpc/auth.ts
@@ -4,6 +4,7 @@ import * as bcrypt from "bcryptjs";
import { db } from "@hoarder/db";
import { apiKeys } from "@hoarder/db/schema";
import serverConfig from "@hoarder/shared/config";
+import { authFailureLogger } from "@hoarder/shared/logger";
// API Keys
@@ -102,3 +103,13 @@ export async function validatePassword(email: string, password: string) {
return user;
}
+
+export function logAuthenticationError(
+ user: string,
+ message: string,
+ ip: string | null,
+): void {
+ authFailureLogger.error(
+ `Authentication error. User: "${user}", Message: "${message}", IP-Address: "${ip}"`,
+ );
+}