import { Hono } from 'hono'; import { rateLimit } from '../ratelimit.js'; import { login } from '../auth-local.js'; // Lokaler Login (auth: 'local') — ersetzt GoTrue. Liefert ein GoTrue-förmiges // Token, das requireAuth genauso prüft wie ein Supabase-Token. Nur gemountet, // wenn config.auth === 'local' (siehe index.js); Brute-Force gedrosselt. const auth = new Hono(); auth.post('/login', rateLimit({ max: 10, windowMs: 5 * 60_000 }), async (c) => { let body = {}; try { body = await c.req.json(); } catch { /* leerer/kaputter Body → 400 unten */ } const { email, password } = body; if (!email || !password) return c.json({ error: 'E-Mail und Passwort nötig' }, 400); const res = await login(email, password); if (!res) return c.json({ error: 'Login fehlgeschlagen' }, 401); return c.json(res); }); export default auth;