Adding session
This commit is contained in:
parent
5c5f1d06ae
commit
565b7e547c
3 changed files with 34 additions and 5 deletions
6
app.js
6
app.js
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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:",
|
||||||
|
|
|
||||||
|
|
@ -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",
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue