From 4c1199c6baed681d46f4b0d702a0e3f2bee08797 Mon Sep 17 00:00:00 2001 From: Baptiste Marcel Date: Mon, 20 Nov 2023 11:52:58 +0100 Subject: [PATCH] =?UTF-8?q?Affichage=20du=20pseudo=20apr=C3=A8s=20connexio?= =?UTF-8?q?n=20avec=20les=20sessions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cryptide_project/package-lock.json | 75 ++++++++++++++++++ cryptide_project/package.json | 2 + cryptide_project/src/Pages/Play.tsx | 29 ++++++- .../src/server/controllers/AuthController.js | 20 ++++- .../server/controllers/SessionController.js | 15 +++- cryptide_project/src/server/db/socialgraph.db | Bin 28672 -> 28672 bytes .../src/server/routes/AuthRoutes.js | 5 ++ cryptide_project/src/server/server.js | 12 ++- cryptide_project/src/services/AuthService.tsx | 2 + .../src/services/SessionService.tsx | 27 +++++++ cryptide_project/yarn.lock | 50 ++++++++++++ 11 files changed, 225 insertions(+), 12 deletions(-) create mode 100644 cryptide_project/src/services/SessionService.tsx diff --git a/cryptide_project/package-lock.json b/cryptide_project/package-lock.json index f929dc2..1b1b975 100644 --- a/cryptide_project/package-lock.json +++ b/cryptide_project/package-lock.json @@ -19,6 +19,8 @@ "bcrypt": "^5.1.1", "body-parser": "^1.20.2", "bootstrap": "^5.3.2", + "cookie-parser": "^1.4.6", + "cookie-session": "^2.0.0", "cors": "^2.8.5", "express": "^4.18.2", "express-session": "^1.17.3", @@ -6566,11 +6568,65 @@ "node": ">= 0.6" } }, + "node_modules/cookie-parser": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", + "dependencies": { + "cookie": "0.4.1", + "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/cookie-parser/node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-session": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cookie-session/-/cookie-session-2.0.0.tgz", + "integrity": "sha512-hKvgoThbw00zQOleSlUr2qpvuNweoqBtxrmx0UFosx6AGi9lYtLoA+RbsvknrEX8Pr6MDbdWAb2j6SnMn+lPsg==", + "dependencies": { + "cookies": "0.8.0", + "debug": "3.2.7", + "on-headers": "~1.0.2", + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cookie-session/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, + "node_modules/cookies": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz", + "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==", + "dependencies": { + "depd": "~2.0.0", + "keygrip": "~1.1.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/core-js": { "version": "3.33.2", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", @@ -12392,6 +12448,17 @@ "integrity": "sha512-TyQTtsabOVv3MeOpR92sIKk/br9wxS+zGj4BG7CR8YbK4jM3tyIBaF0zhzeBUMx36/Q/iQLOKKOT+3jOQtemRQ==", "peer": true }, + "node_modules/keygrip": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", + "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", + "dependencies": { + "tsscmp": "1.0.6" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -17678,6 +17745,14 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, + "node_modules/tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", + "engines": { + "node": ">=0.6.x" + } + }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", diff --git a/cryptide_project/package.json b/cryptide_project/package.json index 5799562..4dc122e 100644 --- a/cryptide_project/package.json +++ b/cryptide_project/package.json @@ -13,6 +13,8 @@ "bcrypt": "^5.1.1", "body-parser": "^1.20.2", "bootstrap": "^5.3.2", + "cookie-parser": "^1.4.6", + "cookie-session": "^2.0.0", "cors": "^2.8.5", "express": "^4.18.2", "express-session": "^1.17.3", diff --git a/cryptide_project/src/Pages/Play.tsx b/cryptide_project/src/Pages/Play.tsx index 1fa0785..68acff5 100644 --- a/cryptide_project/src/Pages/Play.tsx +++ b/cryptide_project/src/Pages/Play.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import {useEffect, useState} from 'react'; /* Style */ import './Play.css'; @@ -9,6 +10,7 @@ import { Link } from 'react-router-dom'; /* Component */ import ButtonImgNav from "../Components/ButtonImgNav" +import SessionService from "../services/SessionService"; /* Img */ import Person from '../res/img/Person.png'; @@ -21,6 +23,31 @@ import share from '../res/icon/share.png'; function Play() { const theme=useTheme() + const [username, setUsername] = useState(''); + + useEffect(() => { + const fetchUserInformation = async () => { + try { + const sessionData = await SessionService.getSession(); + + console.log(sessionData); + // Vérifie si il y a une session + if (sessionData.user) { + setUsername(sessionData.user.pseudo); + } else { + // Pas de session on génère un guest random + setUsername(`Guest ${Math.floor(Math.random() * 100000)}`); + } + } catch (error) { + console.error(error); + } + }; + + fetchUserInformation(); + }, []); + + + return (
@@ -33,7 +60,7 @@ function Play() {

- Guest 177013 + {username}

+%YH@L9ex8a^l8T{$ie64puwHSvhp$OMNpWs?KyhMTT1l$2hj~b8Sg220etB_Z zltoBYkyn(7pGj0fq`7fPn3<7*k+H6!p{|jEf`NsVp{13f0W0fdNBP5C%>4Hm_}}w? z=fA&MP~jrK06()bvZb7p-|LI=F!Nh6@LTckn>%F()qr0|PVvQwE?@-tj*LI_5e*Cp#+}0|y5OBj@CI@nS%y TqR2|aW!YIE$~f4WAq;i^%=BWP delta 164 zcmZp8z}WDBae_3X>O>i5M%9f8OZYjM_#GMe7w|i77F00hpX?}q7%1|df&V@K_sxO< zSNJCe@K1iPFUrHjU&Fw^4@fXDFaee3@K3g~=h@t0?<2s-GWn{%yaWp;BeOVTX>n>% rF$XV575_U1{_p(npr-ImeittWG#XV