const express = require("express"); const { getAuthUrl, getTokenFromCode } = require("../service/authService"); const router = express.Router(); // Rota para iniciar o fluxo de autenticação router.get("/login", (req, res) => { return res.redirect(getAuthUrl()); }); // Rota de callback após autenticação router.get("/auth/callback", async (req, res) => { console.log("[auth callback] query:", req.query); // <-- debug: verifica code/state const code = req.query.code; if (!code) { console.warn("[auth callback] código ausente"); return res.status(400).send("Código de autenticação não fornecido."); } try { const tokens = await getTokenFromCode(code); if (!req.session) req.session = {}; req.session.tokens = tokens; console.log("[auth callback] tokens obtidos, salvando sessão"); return res.redirect("/public/index.html"); // redirect absoluto } catch (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."); } }); module.exports = router;