Use cookie-parser, updated tokenToUser middleware & set logout endpoint
This commit is contained in:
		| @@ -20,10 +20,11 @@ | |||||||
|     "axios": "^0.18.0", |     "axios": "^0.18.0", | ||||||
|     "bcrypt": "^3.0.6", |     "bcrypt": "^3.0.6", | ||||||
|     "body-parser": "~1.18.2", |     "body-parser": "~1.18.2", | ||||||
|  |     "cookie-parser": "^1.4.6", | ||||||
|     "cross-env": "~5.1.4", |     "cross-env": "~5.1.4", | ||||||
|     "express": "~4.16.0", |     "express": "~4.16.0", | ||||||
|     "form-data": "^2.5.1", |     "form-data": "^2.5.1", | ||||||
|     "jsonwebtoken": "^8.2.0", |     "jsonwebtoken": "^8.5.1", | ||||||
|     "km-moviedb": "^0.2.12", |     "km-moviedb": "^0.2.12", | ||||||
|     "node-cache": "^4.1.1", |     "node-cache": "^4.1.1", | ||||||
|     "node-fetch": "^2.6.0", |     "node-fetch": "^2.6.0", | ||||||
|   | |||||||
| @@ -1,11 +1,14 @@ | |||||||
| const express = require("express"); | const express = require("express"); | ||||||
| const Raven = require("raven"); | const Raven = require("raven"); | ||||||
|  | const cookieParser = require("cookie-parser"); | ||||||
| const bodyParser = require("body-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 mustBeAuthenticated = require("./middleware/mustBeAuthenticated"); | ||||||
| const mustBeAdmin = require("./middleware/mustBeAdmin"); | const mustBeAdmin = require("./middleware/mustBeAdmin"); | ||||||
| const mustHaveAccountLinkedToPlex = require("./middleware/mustHaveAccountLinkedToPlex"); | const mustHaveAccountLinkedToPlex = require("./middleware/mustHaveAccountLinkedToPlex"); | ||||||
| const configuration = require("src/config/configuration").getInstance(); |  | ||||||
|  |  | ||||||
| const listController = require("./controllers/list/listController"); | const listController = require("./controllers/list/listController"); | ||||||
| const tautulli = require("./controllers/user/viewHistory.js"); | 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 | const app = express(); // define our app using express | ||||||
| app.use(Raven.requestHandler()); | app.use(Raven.requestHandler()); | ||||||
| app.use(bodyParser.json()); | app.use(bodyParser.json()); | ||||||
|  | app.use(cookieParser()); | ||||||
|  |  | ||||||
| const router = express.Router(); | const router = express.Router(); | ||||||
| const allowedOrigins = configuration.get("webserver", "origins"); | const allowedOrigins = configuration.get("webserver", "origins"); | ||||||
| @@ -26,8 +30,8 @@ const allowedOrigins = configuration.get("webserver", "origins"); | |||||||
| // router.use(bodyParser.json()); | // router.use(bodyParser.json()); | ||||||
| app.use(bodyParser.urlencoded({ extended: true })); | app.use(bodyParser.urlencoded({ extended: true })); | ||||||
|  |  | ||||||
| /* Decode the Authorization header if provided */ | /* Check header and cookie for authentication and set req.loggedInUser */ | ||||||
| router.use(tokenToUser); | router.use(reqTokenToUser); | ||||||
|  |  | ||||||
| // TODO: Should have a separate middleware/router for handling headers. | // TODO: Should have a separate middleware/router for handling headers. | ||||||
| router.use((req, res, next) => { | 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", require("./controllers/user/register.js")); | ||||||
| router.post("/v1/user/login", require("./controllers/user/login.js")); | router.post("/v1/user/login", require("./controllers/user/login.js")); | ||||||
|  | router.post("/v1/user/logout", require("./controllers/user/logout.js")); | ||||||
| router.get( | router.get( | ||||||
|   "/v1/user/settings", |   "/v1/user/settings", | ||||||
|   mustBeAuthenticated, |   mustBeAuthenticated, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user