REFAC: Corrigir caminho de arquivos estáticos e melhorar middleware de autenticação

This commit is contained in:
Gabriel Amancio 2025-10-20 09:50:28 -03:00
parent ee902f8617
commit d1623af10b
2 changed files with 23 additions and 14 deletions

2
app.js
View File

@ -559,7 +559,7 @@ function createApp() {
//////////////////////////////////////////////////// ////////////////////////////////////////////////////
// Servir arquivos estáticos (index.html) // Servir arquivos estáticos (index.html)
app.use("/public", express.static(path.join(__dirname, "src/public"))); app.use("/public", express.static(path.join(__dirname, "public")));
// Usa as rotas de autenticação // Usa as rotas de autenticação
app.use("/", authRoutes); app.use("/", authRoutes);

View File

@ -10,7 +10,7 @@ router.get("/login", (req, res) => {
// Rota de callback após autenticação // Rota de callback após autenticação
router.get("/auth/callback", async (req, res) => { router.get("/auth/callback", async (req, res) => {
console.log("[auth callback] query:", req.query); // <-- debug: verifica code/state console.log("[auth callback] query:", req.query);
const code = req.query.code; const code = req.query.code;
if (!code) { if (!code) {
@ -20,13 +20,22 @@ router.get("/auth/callback", async (req, res) => {
try { try {
const tokens = await getTokenFromCode(code); const tokens = await getTokenFromCode(code);
// garante que exista req.session e sempre grava tokens
if (!req.session) req.session = {}; if (!req.session) req.session = {};
req.session.tokens = tokens; req.session.tokens = tokens;
console.log("[auth callback] tokens obtidos, salvando sessão");
return res.redirect("/public/index.html"); // redirect absoluto // salva a sessão antes de redirecionar para evitar perda em stores assíncronas
req.session.save((err) => {
if (err) {
console.error("[auth callback] erro ao salvar sessão:", err);
return res.status(500).send("Erro ao salvar sessão.");
}
console.log("[auth callback] sessão salva, redirecionando");
return res.redirect("/public/index.html");
});
} catch (error) { } catch (error) {
console.error("[auth callback] Erro ao obter tokens:", error.response?.data || error.message || error); console.error("[auth callback] Erro ao obter tokens:", error.response?.data || error.message || error);
// Retorna descrição curta ao browser para facilitar depuração (remover em produção)
return res.status(500).send("Erro ao processar a autenticação. Veja logs do servidor."); return res.status(500).send("Erro ao processar a autenticação. Veja logs do servidor.");
} }
}); });