foamking/app/api/auth/login/route.ts
mikl0s 05419e9457 feat: add rate limiting to login and quote-request endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:55:40 +00:00

28 lines
890 B
TypeScript

import { NextRequest, NextResponse } from "next/server"
import { login } from "@/lib/auth"
import { rateLimit } from "@/lib/rate-limit"
export async function POST(request: NextRequest) {
const ip = request.headers.get("x-forwarded-for") || "unknown"
if (!rateLimit(ip, 5, 60_000)) {
return NextResponse.json({ error: "For mange forsøg. Prøv igen om lidt." }, { status: 429 })
}
try {
const { email, password } = await request.json()
if (!email || !password) {
return NextResponse.json({ error: "Email og adgangskode er påkrævet" }, { status: 400 })
}
const result = await login(email, password)
if (!result.success) {
return NextResponse.json({ error: result.error }, { status: 401 })
}
return NextResponse.json({ success: true })
} catch {
return NextResponse.json({ error: "Der opstod en fejl" }, { status: 500 })
}
}