Checkpoint: Correction de la redirection OAuth pour revenir à l'application après authentification. Le callback OAuth décode maintenant le state pour rediriger vers /admin au lieu de rester sur le tableau de bord Manus. Le système gère maintenant correctement les deux modes d'authentification (local + OAuth).

This commit is contained in:
Manus Sandbox
2025-11-19 08:24:59 -05:00
parent 42826fc7dd
commit 4d2ed3d5d8
3 changed files with 24 additions and 3 deletions

View File

@@ -44,7 +44,20 @@ export function registerOAuthRoutes(app: Express) {
const cookieOptions = getSessionCookieOptions(req);
res.cookie(COOKIE_NAME, sessionToken, { ...cookieOptions, maxAge: ONE_YEAR_MS });
res.redirect(302, "/");
// Décoder le state pour obtenir l'URL de redirection
let redirectUrl = "/";
try {
redirectUrl = Buffer.from(state, 'base64').toString('utf-8');
// Si c'est une URL complète, extraire seulement le path
if (redirectUrl.startsWith('http')) {
const url = new URL(redirectUrl);
redirectUrl = url.pathname;
}
} catch (error) {
console.warn("[OAuth] Failed to decode state, redirecting to /", error);
}
res.redirect(302, redirectUrl);
} catch (error) {
console.error("[OAuth] Callback failed", error);
res.status(500).json({ error: "OAuth callback failed" });