35 lines
919 B
JavaScript
35 lines
919 B
JavaScript
|
|
import express from "express";
|
||
|
|
import {getAuthUrl, getTokenFomCode} from "../service/authService.js";
|
||
|
|
|
||
|
|
const router = express.Router();
|
||
|
|
|
||
|
|
// Rota para iniciar o fluxo de autenticação
|
||
|
|
|
||
|
|
router.get("/login", (req, res) => {
|
||
|
|
const authUrl = getAuthUrl();
|
||
|
|
return res.redirect(authUrl);
|
||
|
|
});
|
||
|
|
|
||
|
|
|
||
|
|
// Rota de callback após autenticação
|
||
|
|
|
||
|
|
router.get("/auth/callback", async (req, res) => {
|
||
|
|
const code = req.query.code;
|
||
|
|
|
||
|
|
if (!code) {
|
||
|
|
return res.status(400).send("Código de autenticação não fornecido.");
|
||
|
|
}
|
||
|
|
|
||
|
|
try {
|
||
|
|
const tokens = await getTokenFomCode(code);
|
||
|
|
// Armazena os tokens na sessão do usuário
|
||
|
|
req.session.tokens = tokens;
|
||
|
|
return res.redirect("/public/index.html");
|
||
|
|
} catch (error) {
|
||
|
|
console.error("Erro ao obter tokens:", error);
|
||
|
|
return res.status(500).send("Erro ao processar a autenticação.");
|
||
|
|
}
|
||
|
|
|
||
|
|
})
|
||
|
|
|
||
|
|
export default router;
|