From 85fcc7094860bf492f0a83b97e943c5e2b9166fa Mon Sep 17 00:00:00 2001 From: RemixDev Date: Mon, 3 May 2021 17:08:36 +0200 Subject: [PATCH] Added express-session --- server/package.json | 2 ++ server/src/middlewares.ts | 13 +++++++++++++ server/yarn.lock | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+) diff --git a/server/package.json b/server/package.json index a6f154e..0cd8ad5 100644 --- a/server/package.json +++ b/server/package.json @@ -19,6 +19,7 @@ "deezer-js": "0.0.10", "dotenv": "8.2.0", "express": "4.17.1", + "express-session": "^1.17.1", "morgan": "1.10.0", "ramda": "0.27.1", "ws": "7.4.5" @@ -28,6 +29,7 @@ "@types/cookie-parser": "1.4.2", "@types/debug": "4.1.5", "@types/express": "4.17.11", + "@types/express-session": "^1.17.3", "@types/jest": "26.0.22", "@types/morgan": "1.9.2", "@types/node": "14.14.37", diff --git a/server/src/middlewares.ts b/server/src/middlewares.ts index 034621a..111a5a0 100644 --- a/server/src/middlewares.ts +++ b/server/src/middlewares.ts @@ -2,6 +2,14 @@ import type { Application } from 'express' import logger from 'morgan' import express from 'express' import cookieParser from 'cookie-parser' +import session from 'express-session' + +declare module 'express-session' { + export interface SessionData { + dz: any; + } +} + import { WEBUI_DIR } from './helpers/paths' export function registerMiddlewares(app: Application) { @@ -12,5 +20,10 @@ export function registerMiddlewares(app: Application) { app.use(express.json()) app.use(express.urlencoded({ extended: false })) app.use(cookieParser()) + app.use(session({ + secret: "U2hoLCBpdHMgYSBzZWNyZXQh", + resave: true, + saveUninitialized: true + })) app.use(express.static(WEBUI_DIR)) } diff --git a/server/yarn.lock b/server/yarn.lock index c4a3d51..679cc84 100644 --- a/server/yarn.lock +++ b/server/yarn.lock @@ -670,6 +670,13 @@ "@types/qs" "*" "@types/range-parser" "*" +"@types/express-session@^1.17.3": + version "1.17.3" + resolved "https://registry.yarnpkg.com/@types/express-session/-/express-session-1.17.3.tgz#4a37c5c4428b8f922ac8ac1cb4bd9190a4d2b097" + integrity sha512-57DnyxiqClXOIjoCgeKCUYfKxBPOlOY/k+l1TPK+7bSwyiPTrS5FIk1Ycql7twk4wO7P5lfOVy6akDGiaMSLfw== + dependencies: + "@types/express" "*" + "@types/express@*", "@types/express@4.17.11": version "4.17.11" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.11.tgz#debe3caa6f8e5fcda96b47bd54e2f40c4ee59545" @@ -2485,6 +2492,20 @@ expect@^26.6.2: jest-message-util "^26.6.2" jest-regex-util "^26.0.0" +express-session@^1.17.1: + version "1.17.1" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.1.tgz#36ecbc7034566d38c8509885c044d461c11bf357" + integrity sha512-UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q== + dependencies: + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~2.0.0" + on-headers "~1.0.2" + parseurl "~1.3.3" + safe-buffer "5.2.0" + uid-safe "~2.1.5" + express@4.17.1: version "4.17.1" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" @@ -4944,6 +4965,11 @@ ramda@0.27.1: resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw== +random-bytes@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" + integrity sha1-T2ih3Arli9P7lYSMMDJNt11kNgs= + range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -5257,6 +5283,11 @@ safe-buffer@5.1.2, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-buffer@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -6042,6 +6073,13 @@ typescript@4.2.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== +uid-safe@~2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" + integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== + dependencies: + random-bytes "~1.0.0" + unbox-primitive@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"