Checkpoint: Correction de l'erreur "non authentifié" sur /api/db-backup : utilisation de parseCookies(req.headers.cookie) au lieu de req.cookies (qui nécessitait cookie-parser non installé).

This commit is contained in:
Manus
2026-08-08 10:41:01 +00:00
parent 4ce2d2877a
commit d3426c1663

View File

@@ -7,6 +7,7 @@ import fs from "fs";
import archiver from "archiver";
import { exec as execCb } from "child_process";
import { promisify } from "util";
import { parse as parseCookies } from "cookie";
const execAsync = promisify(execCb);
import { createExpressMiddleware } from "@trpc/server/adapters/express";
import { registerOAuthRoutes } from "./oauth";
@@ -233,7 +234,8 @@ async function startServer() {
app.post("/api/db-backup", async (req, res) => {
// Vérifier l'auth JWT
const { verifyToken } = await import("../auth");
const token = req.cookies?.auth_token;
const cookies = parseCookies(req.headers.cookie || "");
const token = cookies.auth_token;
if (!token) { res.status(401).json({ error: "Non authentifié" }); return; }
const user = verifyToken(token);
if (!user || user.role !== "admin") { res.status(403).json({ error: "Accès réservé aux admins" }); return; }
@@ -278,7 +280,8 @@ async function startServer() {
// Télécharger une sauvegarde existante
app.get("/api/db-backup/:filename", async (req, res) => {
const { verifyToken } = await import("../auth");
const token = req.cookies?.auth_token;
const cookies2 = parseCookies(req.headers.cookie || "");
const token = cookies2.auth_token;
if (!token) { res.status(401).json({ error: "Non authentifié" }); return; }
const user = verifyToken(token);
if (!user || user.role !== "admin") { res.status(403).json({ error: "Accès réservé aux admins" }); return; }