Work around breaking change in @types/express-sesssion

Fixes #927
This commit is contained in:
rijkvanzanten
2020-11-11 09:41:25 -05:00
parent 514b26bb0b
commit 3654da7fa9
4 changed files with 113 additions and 99 deletions

View File

@@ -1,5 +1,5 @@
import { Router } from 'express';
import session from 'express-session';
import session, { InitializedSession } from 'express-session';
import asyncHandler from 'express-async-handler';
import Joi from 'joi';
import grant from 'grant';
@@ -240,7 +240,7 @@ router.get(
}
if (req.query?.redirect && req.session) {
req.session.redirect = req.query.redirect;
(req.session as InitializedSession).redirect = req.query.redirect as string;
}
next();
@@ -253,7 +253,7 @@ router.use(grant.express()(grantConfig));
router.get(
'/oauth/:provider/callback',
asyncHandler(async (req, res, next) => {
const redirect = req.session?.redirect;
const redirect = (req.session as InitializedSession)?.redirect;
const accountability = {
ip: req.ip,
@@ -268,7 +268,7 @@ router.get(
const email = getEmailFromProfile(
req.params.provider,
req.session!.grant.response?.profile
(req.session as InitializedSession).grant.response?.profile
);
req.session?.destroy(() => {});

8
api/src/types/express-session.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
import * as expressSession from 'express-session';
declare module 'express-session' {
interface SessionData {
redirect: string;
grant: any;
}
}