diff --git a/controller/viabilidadeController.js b/controller/viabilidadeController.js index f60e3ad..a4142b7 100644 --- a/controller/viabilidadeController.js +++ b/controller/viabilidadeController.js @@ -9,6 +9,7 @@ const path = require('path'); async function consultarViabilidadeController(req, res) { try { const data = req.body; + data.source = 'viabiliza.sothis.com.br'; const result = await consultarViabilidade(data); res.json(result); } catch (error) { diff --git a/routes/authRoutes.js b/routes/authRoutes.js index 5e647fc..8f07b1d 100644 --- a/routes/authRoutes.js +++ b/routes/authRoutes.js @@ -1,14 +1,15 @@ const express = require('express'); const router = express.Router(); +const dotenv = require('dotenv'); + +dotenv.config(); /** * Página simples de login */ router.get('/login', (req, res) => { - res.send(` -

Login necessário

- Entrar com Microsoft - `); + // Redirect straight to Microsoft OAuth start to avoid an extra click/page + return res.redirect('/auth/microsoft'); }); /** @@ -31,7 +32,8 @@ router.get('/auth/microsoft', (req, res) => { /** * Callback do Azure */ -router.get('/auth/microsoft/callback', async (req, res) => { +// shared handler so we accept both /auth/microsoft/callback and /auth/callback +async function oauthCallbackHandler(req, res) { const code = req.query.code; // Verbose logging for debugging the OAuth callback flow console.log('[OAuth callback] incoming query:', { @@ -50,7 +52,7 @@ router.get('/auth/microsoft/callback', async (req, res) => { console.log('[OAuth callback] exchanging code for tokens (will not log secrets)'); const tokenRespRaw = await fetch( - `https://login.microsoftonline.com/${process.env.AZURE_TENANT_ID}/oauth2/v2.0/token`, + `https://login.microsoftonline.com/${process.env.OAUTH_TENANT_ID}/oauth2/v2.0/token`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, @@ -113,7 +115,11 @@ router.get('/auth/microsoft/callback', async (req, res) => { console.error('[OAuth callback] unexpected error during token exchange or session creation:', err && (err.stack || err.message || err)); res.redirect('/login'); } -}); +} + +router.get('/auth/microsoft/callback', oauthCallbackHandler); +// some Azure app registrations (or tooling like ngrok) may use /auth/callback — accept that too +router.get('/auth/callback', oauthCallbackHandler); router.get('/logout', (req, res) => { req.session.destroy(() => res.redirect('/login'));