Adding session

This commit is contained in:
AMAICDAX 2025-09-03 11:46:09 +02:00
parent 5c5f1d06ae
commit 565b7e547c
3 changed files with 34 additions and 5 deletions

6
app.js
View file

@ -1,5 +1,6 @@
const express = require("express"); const express = require("express");
const bodyParser = require("body-parser"); const bodyParser = require("body-parser");
const session = require("express-session");
const apiRoutes = require("./routes/api.routes"); const apiRoutes = require("./routes/api.routes");
const frontRoutes = require("./routes/front.routes"); const frontRoutes = require("./routes/front.routes");
@ -9,6 +10,11 @@ const PORT = process.env.PORT || 4200;
// Middleware // Middleware
app.use(bodyParser.json()); app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.urlencoded({ extended: true }));
app.use(session({
secret: "your_secret_key", // change ce secret !
resave: false,
saveUninitialized: true,
}));
// Routes // Routes
app.use("/api", apiRoutes); app.use("/api", apiRoutes);

View file

@ -37,10 +37,32 @@ const handleCallback = async (req, res) => {
}) })
); );
accessToken = tokenResponse.data.access_token; const accessToken = tokenResponse.data.access_token;
res.send(
"Authentication successful! You can now retrieve your profile information." // Récupère les infos utilisateur
); const profileResponse = await axios.get("https://api.linkedin.com/v2/me", {
headers: {
Authorization: `Bearer ${accessToken}`,
},
});
const emailResponse = await axios.get("https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))", {
headers: {
Authorization: `Bearer ${accessToken}`,
},
});
// Stocke dans la session
req.session.user = {
accessToken,
nom: profileResponse.data.localizedFirstName + " " + profileResponse.data.localizedLastName,
img: profileResponse.data.profilePicture
? profileResponse.data.profilePicture["displayImage~"].elements[0].identifiers[0].identifier
: null,
email: emailResponse.data.elements[0]["handle~"].emailAddress,
};
res.send("Authentication successful! User session created.");
} catch (error) { } catch (error) {
console.error( console.error(
"LinkedIn token error:", "LinkedIn token error:",

View file

@ -9,7 +9,8 @@
"dependencies": { "dependencies": {
"express": "^4.17.1", "express": "^4.17.1",
"axios": "^0.21.1", "axios": "^0.21.1",
"dotenv": "^8.2.0" "dotenv": "^8.2.0",
"express-session": "^1.17.1"
}, },
"author": "ExostFlash", "author": "ExostFlash",
"license": "ISC", "license": "ISC",