fix(auth): JWT-Secret härten und Session-Laufzeit verkürzen
- Gemeinsames Secret-Modul (jwt-secret.ts): bricht in Produktion hart ab, wenn NEXTAUTH_SECRET fehlt oder <32 Zeichen – kein öffentlicher Fallback mehr - auth.ts und middleware.ts nutzen dieselbe Secret-Quelle (kein Divergieren) - Schwacher Compose-Fallback entfernt: Deployment ohne Secret bricht ab (:?) - "Angemeldet bleiben" 30 → 14 Tage; Laufzeiten zentralisiert (SESSION_MAX_AGE_*) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { cookies } from 'next/headers'
|
||||
import { login, createToken } from '@/lib/auth'
|
||||
import { login, createToken, SESSION_MAX_AGE_SECONDS, SESSION_MAX_AGE_REMEMBER_SECONDS } from '@/lib/auth'
|
||||
import { loginSchema } from '@/lib/validations'
|
||||
import { prisma } from '@/lib/db'
|
||||
import { loginLimiter, getClientIp, rateLimitResponse } from '@/lib/rate-limit'
|
||||
@@ -50,7 +50,7 @@ export async function POST(request: NextRequest) {
|
||||
httpOnly: true,
|
||||
secure: process.env.NODE_ENV === 'production',
|
||||
sameSite: 'lax',
|
||||
maxAge: rememberMe ? 60 * 60 * 24 * 30 : 60 * 60 * 24, // 30 days or 24 hours
|
||||
maxAge: rememberMe ? SESSION_MAX_AGE_REMEMBER_SECONDS : SESSION_MAX_AGE_SECONDS, // 14 Tage oder 24 Stunden
|
||||
path: '/',
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user