integration of authentication

This commit is contained in:
2024-08-06 17:44:28 +02:00
parent 0c7fc6fdf7
commit ee932a2339
13 changed files with 153 additions and 84 deletions
+5 -1
View File
@@ -2,7 +2,7 @@ var passport = require('passport');
var LocalStrategy = require('passport-local');
var crypto = require('crypto');
const router = require('express').Router()
const config = require("../config.js");
const {config} = require("../config.js");
const keys = require("../.Keys.js");
/* Configure password authentication strategy.
@@ -98,13 +98,17 @@ router.post('/authenticate', async function(req, res) {
if (err) { return res.status(500).json({message: err.message}); }
if (!user) { return res.status(401).json({message: 'Incorrect email or password.'}); }
console.log('/authenticate: '+user.username);
// User found, generate a JWT for the user
var token = jwt.sign({ sub: user._id, email: user.email }, opts.secretOrKey, {
issuer: opts.issuer,
audience: opts.audience,
expiresIn: 86400 * 30 // 30 days
});
console.log('Token: '+token);
res.json({ token: token });
//return res.status(500).json({message: 'Incorrect email or password.'})
})(req, res);
+3 -4
View File
@@ -1,9 +1,8 @@
const controllers = require('../controllers/favorite')
const router = require('express').Router()
const passport = require('passport');
const { checkIsConcernedUserOrAdmin } = require('../middleware/authMiddleware')
const { Admited } = require('../middleware/authMiddleware')
router.post('/save/', passport.authenticate('jwt', { session: false }), controllers.save)
router.get('/getAll/', passport.authenticate('jwt', { session: false }), controllers.getAll)
router.post('/save/', Admited(['NormalUser']), controllers.save)
router.get('/getAll/', Admited(['NormalUser']), controllers.getAll)
module.exports = router
+11 -12
View File
@@ -1,21 +1,20 @@
const controllers = require('../controllers/lot')
const router = require('express').Router()
const passport = require('passport');
const { checkIsAgent, checkIsAdmin } = require('../middleware/authMiddleware')
const { Admited } = require('../middleware/authMiddleware')
router.get('/getInfos/:url', passport.authenticate('jwt', { session: false }), controllers.getInfos)
router.get('/getPictures/:url', passport.authenticate('jwt', { session: false }), controllers.getPictures)
router.get('/getLotsBySale/:id', passport.authenticate('jwt', { session: false }), controllers.getLotsBySale)
router.get('/getInfos/:url', Admited(['NormalUser']), controllers.getInfos)
router.get('/getPictures/:url', Admited(['NormalUser']), controllers.getPictures)
router.get('/getLotsBySale/:id', Admited(['NormalUser']), controllers.getLotsBySale)
// DB
router.get('/lot/:id', passport.authenticate('jwt', { session: false }), checkIsAdmin, controllers.get)
router.post('/lot/', passport.authenticate('jwt', { session: false }), checkIsAdmin, controllers.post)
router.put('/lot/:id', passport.authenticate('jwt', { session: false }), checkIsAdmin, controllers.put)
router.delete('/lot/:id', passport.authenticate('jwt', { session: false }), checkIsAdmin, controllers.delete)
router.get('/lot/:id', Admited(['Admin']), controllers.get)
router.post('/lot/', Admited(['Admin']), controllers.post)
router.put('/lot/:id', Admited(['Admin']), controllers.put)
router.delete('/lot/:id', Admited(['Admin']), controllers.delete)
// Live Data
router.post('/NextItem/', checkIsAgent, controllers.NextItem)
router.post('/AuctionedItem/', checkIsAgent, controllers.AuctionedItem)
router.post('/Bid/', checkIsAgent, controllers.Bid)
router.post('/NextItem/', Admited(['Agent', 'Admin']), controllers.NextItem)
router.post('/AuctionedItem/', Admited(['Agent', 'Admin']), controllers.AuctionedItem)
router.post('/Bid/', Admited(['Agent', 'Admin']), controllers.Bid)
module.exports = router
+13 -13
View File
@@ -1,24 +1,24 @@
const controllers = require('../controllers/sale')
const passport = require('passport');
const router = require('express').Router()
const { Admited } = require('../middleware/authMiddleware')
// AuctionAgent
router.get('/getSaleInfos/:url', controllers.getSaleInfos)
router.get('/prepareSale/:id', controllers.prepareSale)
router.get('/followSale/:id', controllers.followSale)
router.get('/getSaleInfos/:url', Admited(['NormalUser']), controllers.getSaleInfos)
router.get('/prepareSale/:id', Admited(['NormalUser']), controllers.prepareSale)
router.get('/followSale/:id', Admited(['NormalUser']), controllers.followSale)
// DB
router.get('/sale/:id', controllers.get)
router.post('/sale/', controllers.post)
router.put('/sale/:id', controllers.put)
router.delete('/sale/:id', controllers.delete)
router.get('/sale/:id', Admited(['Admin']), controllers.get)
router.post('/sale/', Admited(['Admin']), controllers.post)
router.put('/sale/:id', Admited(['Admin', 'Agent']), controllers.put)
router.delete('/sale/:id', Admited(['Admin']), controllers.delete)
//router.get('/getAll/', controllers.getAll)
router.get('/getAll/', passport.authenticate('jwt', { session: false }), controllers.getAll);
router.get('/getByUrl/:url', controllers.getByUrl)
router.get('/postProcessing/:id', controllers.postProcessing)
router.get('/SaleStatXsl/:id', controllers.SaleStatXsl)
router.get('/getAll/', Admited(['Admin']), controllers.getAll);
router.get('/getByUrl/:url', Admited(['Agent', 'Admin']), controllers.getByUrl)
router.get('/postProcessing/:id', Admited(['Admin']), controllers.postProcessing)
router.get('/SaleStatXsl/:id', Admited(['Admin']), controllers.SaleStatXsl)
module.exports = router
+8 -8
View File
@@ -1,15 +1,15 @@
const controllers = require('../controllers/user')
const passport = require('passport');
const router = require('express').Router()
const { checkIsConcernedUserOrAdmin, checkIsAdmin } = require('../middleware/authMiddleware')
const { Admited } = require('../middleware/authMiddleware')
// DB
router.get('/user/:id', passport.authenticate('jwt', { session: false }), checkIsConcernedUserOrAdmin, controllers.get);
router.post('/user/', controllers.post)
router.put('/user/:id', passport.authenticate('jwt', { session: false }), checkIsConcernedUserOrAdmin, controllers.put)
router.delete('/user/:id', passport.authenticate('jwt', { session: false }), checkIsConcernedUserOrAdmin, controllers.delete)
router.get('/user/:id', Admited(['Admin', 'ConcernedUser']), controllers.get);
router.post('/user/', Admited(['Unconnected']), controllers.post)
router.put('/user/:id', Admited(['Admin', 'ConcernedUser']), controllers.put)
router.delete('/user/:id', Admited(['Admin', 'ConcernedUser']), controllers.delete)
router.get('/current', passport.authenticate('jwt', { session: false }), controllers.current)
router.get('/getAllUsers', passport.authenticate('jwt', { session: false }), checkIsAdmin, controllers.getAllUsers)
router.get('/current', Admited(['NormalUser']), controllers.current)
router.get('/agentConnected', Admited(['Agent']), controllers.agentConnected)
router.get('/getAllUsers', Admited(['Admin']), controllers.getAllUsers)
module.exports = router