Use cookie-parser, updated tokenToUser middleware & set logout endpoint

This commit is contained in:
2022-03-06 10:39:34 +01:00
parent 0ecbde9675
commit 91c81e5cf6
2 changed files with 11 additions and 5 deletions

View File

@@ -20,10 +20,11 @@
"axios": "^0.18.0",
"bcrypt": "^3.0.6",
"body-parser": "~1.18.2",
"cookie-parser": "^1.4.6",
"cross-env": "~5.1.4",
"express": "~4.16.0",
"form-data": "^2.5.1",
"jsonwebtoken": "^8.2.0",
"jsonwebtoken": "^8.5.1",
"km-moviedb": "^0.2.12",
"node-cache": "^4.1.1",
"node-fetch": "^2.6.0",

View File

@@ -1,11 +1,14 @@
const express = require("express");
const Raven = require("raven");
const cookieParser = require("cookie-parser");
const bodyParser = require("body-parser");
const tokenToUser = require("./middleware/tokenToUser");
const configuration = require("src/config/configuration").getInstance();
const reqTokenToUser = require("./middleware/reqTokenToUser");
const mustBeAuthenticated = require("./middleware/mustBeAuthenticated");
const mustBeAdmin = require("./middleware/mustBeAdmin");
const mustHaveAccountLinkedToPlex = require("./middleware/mustHaveAccountLinkedToPlex");
const configuration = require("src/config/configuration").getInstance();
const listController = require("./controllers/list/listController");
const tautulli = require("./controllers/user/viewHistory.js");
@@ -18,6 +21,7 @@ Raven.config(configuration.get("raven", "DSN")).install();
const app = express(); // define our app using express
app.use(Raven.requestHandler());
app.use(bodyParser.json());
app.use(cookieParser());
const router = express.Router();
const allowedOrigins = configuration.get("webserver", "origins");
@@ -26,8 +30,8 @@ const allowedOrigins = configuration.get("webserver", "origins");
// router.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
/* Decode the Authorization header if provided */
router.use(tokenToUser);
/* Check header and cookie for authentication and set req.loggedInUser */
router.use(reqTokenToUser);
// TODO: Should have a separate middleware/router for handling headers.
router.use((req, res, next) => {
@@ -60,6 +64,7 @@ app.use(function onError(err, req, res, next) {
*/
router.post("/v1/user", require("./controllers/user/register.js"));
router.post("/v1/user/login", require("./controllers/user/login.js"));
router.post("/v1/user/logout", require("./controllers/user/logout.js"));
router.get(
"/v1/user/settings",
mustBeAuthenticated,