This commit is contained in:
AMAICDAX 2025-09-09 15:38:47 +02:00
parent 57ce71062d
commit 35daf83b92
2 changed files with 36 additions and 2 deletions

View file

@ -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) { } catch (error) {
console.error( console.error(
"LinkedIn OIDC error:", "LinkedIn OIDC error:",

View file

@ -5,6 +5,7 @@ const router = express.Router();
const { getUserProfile } = require("../controllers/linkedin"); const { getUserProfile } = require("../controllers/linkedin");
// Page d'accueil
router.get("/", (req, res) => { router.get("/", (req, res) => {
res.send(` res.send(`
<h1>Welcome to the CV Generator Home Page!</h1> <h1>Welcome to the CV Generator Home Page!</h1>
@ -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); 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(`
<h2>Bienvenue, ${user.nom} !</h2>
<img src="${user.img}" alt="Photo de profil" width="100" height="100" style="border-radius:50%;" />
<form method="POST" action="/me/link">
<label for="linkedinUrl">Votre URL LinkedIn :</label>
<input type="url" id="linkedinUrl" name="linkedinUrl" placeholder="https://www.linkedin.com/in/votre-profil" required>
<button type="submit">Enregistrer</button>
</form>
`);
});
// 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(`
<p>URL LinkedIn enregistrée : <a href="${req.body.linkedinUrl}" target="_blank">${req.body.linkedinUrl}</a></p>
<a href="/me">Retour</a>
`);
});
module.exports = router; module.exports = router;