From 589cb9701a92f0d560414f62bcab9c519dcc0c42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9e=20Kooi?= Date: Thu, 20 Oct 2022 14:36:18 +0200 Subject: [PATCH] Add `express-session`, now required --- package.json | 4 ++++ src/HttpApi.js | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/package.json b/package.json index c6f81008..3b4001d0 100644 --- a/package.json +++ b/package.json @@ -31,12 +31,14 @@ "avvio": "^8.0.0", "bcryptjs": "^2.4.3", "body-parser": "^1.19.0", + "connect-redis": "^6.1.3", "cookie": "^0.5.0", "cookie-parser": "^1.4.4", "cors": "^2.8.5", "escape-string-regexp": "^4.0.0", "explain-error": "^1.0.4", "express": "^4.17.1", + "express-session": "^1.17.3", "has": "^1.0.3", "helmet": "^6.0.0", "htmlescape": "^1.1.1", @@ -73,10 +75,12 @@ "devDependencies": { "@tsconfig/node14": "^1.0.1", "@types/bcryptjs": "^2.4.2", + "@types/connect-redis": "^0.0.18", "@types/cookie": "^0.5.0", "@types/cookie-parser": "^1.4.2", "@types/cors": "^2.8.10", "@types/express": "^4.17.11", + "@types/express-session": "^1.17.5", "@types/has": "^1.0.0", "@types/htmlescape": "^1.1.1", "@types/http-errors": "^1.8.0", diff --git a/src/HttpApi.js b/src/HttpApi.js index e507f100..e00aa1b6 100644 --- a/src/HttpApi.js +++ b/src/HttpApi.js @@ -4,6 +4,8 @@ const { randomUUID } = require('crypto'); const express = require('express'); const bodyParser = require('body-parser'); const cookieParser = require('cookie-parser'); +const session = require('express-session'); +const RedisSessionStore = require('connect-redis')(session); const cors = require('cors'); const helmet = require('helmet').default; const http = require('http'); @@ -108,6 +110,13 @@ async function httpApi(uw, options) { })) .use(bodyParser.json()) .use(cookieParser()) + .use(session({ + name: 'uwsid', + store: new RedisSessionStore({ + client: uw.redis, + }), + secret: options.secret.toString('hex'), + })) .use(uw.passport.initialize()) .use(addFullUrl()) .use(attachUwaveMeta(uw.httpApi, uw))