Update: Npm Cors Doc

This commit is contained in:
Yûki VACHOT 2021-12-29 19:01:06 +01:00
parent c6e02cf797
commit f69ed4b3d4
2 changed files with 21 additions and 30 deletions

View file

@ -1,28 +1,19 @@
const cors = require('cors'); const cors = require('cors');
module.exports.cors = cors; module.exports.cors = cors;
const allowList = [ const whitelist = [
'http://127.0.0.1:4200', 'http://127.0.0.1:4200',
'http://127.0.0.1:4201', 'http://127.0.0.1:4201',
'https://admin-polynotfound.herokuapp.com', 'https://admin-polynotfound.herokuapp.com',
'https://polynotfound.herokuapp.com' 'https://polynotfound.herokuapp.com'
]; ];
const corsOptionsDelegate = function(req, callback) { module.exports.corsOptions = {
console.log(req.header('Origin'), allowList.indexOf(req.header('Origin'))); origin: function(origin, callback) {
let corsOptions; if (whitelist.indexOf(origin) !== -1) {
if (allowList.indexOf(req.header('Origin')) !== -1) { callback(null, true);
corsOptions = {
origin: true,
credentials: true
}
} else { } else {
corsOptions = { callback(new Error('Not allowed by CORS'));
origin: false,
credentials: true
} }
} }
console.log(corsOptions);
callback(null, corsOptions)
} }
module.exports.options = corsOptionsDelegate;

View file

@ -1,43 +1,43 @@
const users = require("../controllers/user.controller"); const users = require("../controllers/user.controller");
const {cors, options} = require("../config/cors.config"); const {cors, corsOptions} = require("../config/cors.config");
module.exports = app => { module.exports = app => {
let router = require("express").Router(); let router = require("express").Router();
// Authenticate a User // Authenticate a User
router.post("/user/auth", cors(options), users.auth); router.post("/user/auth", cors(corsOptions), users.auth);
// Logout a User // Logout a User
router.delete("/user/logout", cors(options), users.logout); router.delete("/user/logout", cors(corsOptions), users.logout);
// Request password reset with email // Request password reset with email
router.post("/user/resetPass", cors(options), users.resetPass); router.post("/user/resetPass", cors(corsOptions), users.resetPass);
// Create and Save a new User // Create and Save a new User
router.post("/user/create", cors(options), users.create); router.post("/user/create", cors(corsOptions), users.create);
// Retrieve all Users if admin // Retrieve all Users if admin
router.get("/user/findAll", cors(options), users.findAll); router.get("/user/findAll", cors(corsOptions), users.findAll);
// Find single User from id if admin or session id // Find single User from id if admin or session id
router.get("/user/findOne/:id", cors(options), users.findOne); router.get("/user/findOne/:id", cors(corsOptions), users.findOne);
// Update a User from id if admin or session id // Update a User from id if admin or session id
router.put("/user/update/:id", cors(options), users.update); router.put("/user/update/:id", cors(corsOptions), users.update);
// Delete a User from id if admin or session id // Delete a User from id if admin or session id
router.delete("/user/delete/:id", cors(options), users.delete); router.delete("/user/delete/:id", cors(corsOptions), users.delete);
// Delete all Users if superAdmin // Delete all Users if superAdmin
router.delete("/user/deleteAll", cors(options), users.deleteAll); router.delete("/user/deleteAll", cors(corsOptions), users.deleteAll);
// Get all Roles depending on the User session id // Get all Roles depending on the User session id
router.get("/user/roles", cors(options), users.roles); router.get("/user/roles", cors(corsOptions), users.roles);
// Get 1 or multiple ad adapted to the User session id // Get 1 or multiple ad adapted to the User session id
router.get("/user/ad", cors(options), users.ad); router.get("/user/ad", cors(corsOptions), users.ad);
// Get History // Get History
router.get("/user/history", cors(options), users.history); router.get("/user/history", cors(corsOptions), users.history);
app.use('/api', router); app.use('/api', router);
}; };