Files
CDN-APP-INSIDER/routes/Auth/ActiveDirectory.js
Dinawo 4e2e085a63
All checks were successful
continuous-integration/drone/push Build is passing
Update routes and file paths, fix authentication and security issues
2024-04-13 22:17:54 +02:00

32 lines
1.2 KiB
JavaScript

const express = require('express');
const router = express.Router();
const passport = require('passport');
require('../../models/Passport-ActiveDirectory');
const { checkUserExistsAD } = require('../../Middlewares/UserIDMiddlewareAD');
router.post('/', (req, res, next) => {
passport.authenticate('ActiveDirectory', (err, user) => {
if (err) {
return res.render('AuthLogin', { isAuthenticated: false, errorMessage: err.message, setupData: {}, showActiveDirectoryForm: true, currentUrl: req.originalUrl });
}
if (!user) {
return res.render('AuthLogin', { isAuthenticated: false, errorMessage: 'L\'utilisateur n\'est pas autorisé.', setupData: {}, showActiveDirectoryForm: true, currentUrl: req.originalUrl });
}
req.user = {
...user._json,
name: user._json.sAMAccountName,
id: user._json.sAMAccountName,
};
req.logIn(req.user, function(err) {
if (err) {
return next(err);
}
req.session.user = req.user;
return next();
});
})(req, res, next);
}, checkUserExistsAD);
module.exports = router;