Configuration des alertes de sécurité Better Auth Infrastructure
Problème
Section titled “Problème”Le dashboard Better Auth Infrastructure affichait deux alertes de sécurité :
- IP Address Headers Not Configured : Les headers IP ne sont pas configurés pour le rate limiting
- Insecure Cookies Configuration : Les cookies sécurisés ne sont pas activés
Diagnostic
Section titled “Diagnostic”Ces fonctionnalités ne sont pas laissées entièrement à la charge de Better Auth Infrastructure. Elles peuvent être configurées directement dans le code Better Auth :
- Secure Cookies : Configurable via
advanced.useSecureCookies - IP Headers : Configurable via
advanced.ipAddress.ipAddressHeaders - Rate Limiting : Configurable via
rateLimitavec KV comme storage
Solution
Section titled “Solution”1. Import de createKVStorage
Section titled “1. Import de createKVStorage”Ajout de l’import pour créer le secondary storage KV :
import { createKVStorage } from "better-auth-cloudflare";2. Configuration de secondaryStorage
Section titled “2. Configuration de secondaryStorage”Ajout de KV comme secondary storage pour le rate limiting :
secondaryStorage: env.AUTH_KV ? createKVStorage(env.AUTH_KV) : undefined3. Configuration des IP Headers
Section titled “3. Configuration des IP Headers”Ajout de la configuration des headers IP pour Cloudflare :
advanced: { ipAddress: { ipAddressHeaders: ["cf-connecting-ip"] // Header Cloudflare spécifique }}4. Configuration du Rate Limiting
Section titled “4. Configuration du Rate Limiting”Ajout de la configuration du rate limiting avec KV comme storage :
rateLimit: { enabled: isProd, // Activé en production window: 60, // 60 secondes (minimum KV TTL) max: 100, // 100 requêtes max par fenêtre storage: "secondary-storage" // Utiliser KV pour le stockage}Fichier modifié
Section titled “Fichier modifié”apps/web/src/auth/index.ts - Ajout de la configuration complète pour corriger les alertes
Important : Limitation KV TTL
Section titled “Important : Limitation KV TTL”Cloudflare KV a une limitation TTL minimum de 60 secondes. C’est pourquoi la fenêtre du rate limiting est configurée à 60 secondes minimum.
Après déploiement, les alertes devraient disparaître du dashboard Better Auth Infrastructure.
Le plugin dash() ne configure pas automatiquement KV comme secondary storage. Il faut le configurer manuellement avec createKVStorage().