From 35daf83b925658de85931c89f1022b8bd5454caf Mon Sep 17 00:00:00 2001 From: AMAICDAX Date: Tue, 9 Sep 2025 15:38:47 +0200 Subject: [PATCH] modif --- controllers/linkedin.js | 8 +++++++- routes/front.routes.js | 30 +++++++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/controllers/linkedin.js b/controllers/linkedin.js index e711b96..47a9c72 100644 --- a/controllers/linkedin.js +++ b/controllers/linkedin.js @@ -69,7 +69,13 @@ const getUserProfile = async (req, res) => { }, }); - return res.json(data); + // Enregistre les infos utiles en session + req.session.user.nom = data.given_name + " " + data.family_name; + req.session.user.img = data.picture; + req.session.user.email = data.email; + + // Redirige vers /me après authentification + res.redirect("/me"); } catch (error) { console.error( "LinkedIn OIDC error:", diff --git a/routes/front.routes.js b/routes/front.routes.js index f2fa506..4573f68 100644 --- a/routes/front.routes.js +++ b/routes/front.routes.js @@ -5,6 +5,7 @@ const router = express.Router(); const { getUserProfile } = require("../controllers/linkedin"); +// Page d'accueil router.get("/", (req, res) => { res.send(`

Welcome to the CV Generator Home Page!

@@ -14,7 +15,34 @@ router.get("/", (req, res) => { `); }); -// Route for fetching user profile information +// Route pour afficher le profil utilisateur (API) router.get("/profile", getUserProfile); +// Route protégée /me +router.get("/me", (req, res) => { + const user = req.session.user; + if (!user || !user.nom || !user.img) { + return res.redirect("/"); + } + res.send(` +

Bienvenue, ${user.nom} !

+ Photo de profil +
+ + + +
+ `); +}); + +// Traitement du formulaire d'URL LinkedIn +router.post("/me/link", express.urlencoded({ extended: true }), (req, res) => { + if (!req.session.user) return res.redirect("/"); + req.session.user.linkedinUrl = req.body.linkedinUrl; + res.send(` +

URL LinkedIn enregistrée : ${req.body.linkedinUrl}

+ Retour + `); +}); + module.exports = router;