rp
03/27/2020, 8:55 PMSun Walker
03/27/2020, 8:55 PMrp
03/27/2020, 8:55 PMrp
03/27/2020, 8:55 PMSun Walker
03/27/2020, 8:56 PMrp
03/27/2020, 8:56 PMrp
03/27/2020, 8:56 PMrp
03/27/2020, 8:57 PMSun Walker
03/27/2020, 8:58 PMrp
03/27/2020, 8:58 PMrp
03/27/2020, 8:59 PMrp
03/27/2020, 8:59 PMSun Walker
03/27/2020, 9:00 PMexport const secureRoutesMiddleware = async (req: Request, res: Response, next: NextFunction) => {
try {
const session: any = await getSession(req, res, true);
req.session = session;
return next();
} catch (err) {
const authError = Error.isErrorFromAuth(err);
if (authError && err.errType === Error.UNAUTHORISED) {
return res.status(440).send({ mustLogin: true, message: 'Unauthorised. Please Login.' });
}
if (authError && err.errType !== Error.GENERAL_ERROR) {
return res
.status(440)
.send({ mustRefresh: true, message: 'Session Expired. Please Refresh Session.' });
}
throw createHttpError(500, { err });
}
};
Sun Walker
03/27/2020, 9:00 PMrp
03/27/2020, 9:00 PMrp
03/27/2020, 9:00 PMrp
03/27/2020, 9:01 PMrp
03/27/2020, 9:02 PMrp
03/27/2020, 9:02 PMSun Walker
03/27/2020, 9:03 PMSun Walker
03/27/2020, 9:03 PMrp
03/27/2020, 9:03 PMSun Walker
03/27/2020, 9:03 PMrp
03/27/2020, 9:03 PMSun Walker
03/27/2020, 9:04 PMrp
03/27/2020, 9:04 PMrp
03/27/2020, 9:04 PMSun Walker
03/27/2020, 9:04 PMexport const attemptRefreshSession = async (req: Request, res: Response) => {
try {
const session: Session = await refreshSession(req, res);
if (!session) {
throw new Unauthorized();
}
return env !== 'development' ? true : developmentCookieResponse(res);
} catch (err) {
const authError = Error.isErrorFromAuth(err);
if (authError && err.errType === Error.UNAUTHORISED) {
return res.status(440).send({ mustLogin: true, message: 'Unauthorized. Please Login.' });
}
if (authError && err.errType !== Error.GENERAL_ERROR) {
console.log(err, err.errType); // TODO remove
const sessionHandle = err?.err?.sessionHandle;
const successfulRevoke = await revokeSessionUsingSessionHandle(sessionHandle);
return res
.status(440)
.send({ mustLogin: true, message: 'Session Revoked. Please Login.', successfulRevoke });
}
throw createHttpError(500, { err });
}
};
Sun Walker
03/27/2020, 9:05 PMrp
03/27/2020, 9:06 PMrp
03/27/2020, 9:06 PM