Update .gitignore and add new dependencies and routes
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -7,36 +7,44 @@ const { checkUserExistsDiscord } = require('../Middlewares/UserIDMiddlewareDisco
|
||||
const path = require('path');
|
||||
const { getUserData, getSetupData } = require('../Middlewares/watcherMiddleware');
|
||||
|
||||
let setupData = getSetupData();
|
||||
let userData = getUserData();
|
||||
|
||||
let setupData;
|
||||
let adStrategy;
|
||||
if (setupData.ldap !== undefined) {
|
||||
adStrategy = require('../models/Passport-ActiveDirectory');
|
||||
}
|
||||
|
||||
let DiscordStrategy;
|
||||
if (setupData.discord !== undefined) {
|
||||
DiscordStrategy = require('../models/Passport-Discord');
|
||||
}
|
||||
getSetupData().then(data => {
|
||||
setupData = data;
|
||||
|
||||
if (setupData[0].ldap !== undefined) {
|
||||
adStrategy = require('../models/Passport-ActiveDirectory');
|
||||
adStrategy.name = 'active-directory';
|
||||
passport.use(adStrategy);
|
||||
} else {
|
||||
console.log('LDAP data is not defined in setup data');
|
||||
}
|
||||
|
||||
if (setupData[0].discord !== undefined) {
|
||||
const DiscordStrategy = require('../models/Passport-Discord');
|
||||
}
|
||||
});
|
||||
|
||||
let user = userData;
|
||||
if (user.identifyURL) {
|
||||
app.get("/auth/discord", (req, res) => {
|
||||
res.redirect(user.identifyURL);
|
||||
});
|
||||
} else {
|
||||
}
|
||||
|
||||
router.use(passport.initialize());
|
||||
router.use(passport.session());
|
||||
|
||||
router.get('/login', function(req, res) {
|
||||
const setupFilePath = path.join('setup.json');
|
||||
const setupFilePath = path.join('data', 'setup.json');
|
||||
const setupData = JSON.parse(fs.readFileSync(setupFilePath, 'utf-8'));
|
||||
res.render('AuthLogin', { setupData, isAuthenticated: false, errorMessage: '', showActiveDirectoryForm: true, currentUrl: req.originalUrl });
|
||||
const showActiveDirectoryForm = setupData.ldap && setupData.ldap.enabled === 'on';
|
||||
res.render('AuthLogin', { setupData, isAuthenticated: false, errorMessage: '', showActiveDirectoryForm, currentUrl: req.originalUrl });
|
||||
});
|
||||
|
||||
|
||||
passport.deserializeUser((user, done) => {
|
||||
done(null, user);
|
||||
});
|
||||
@@ -55,9 +63,11 @@ var opts = { failWithError: true }
|
||||
router.post('/activedirectory', (req, res, next) => {
|
||||
passport.authenticate('ActiveDirectory', (err, user) => {
|
||||
if (err) {
|
||||
console.log('Authentication error:', err); // Debug log
|
||||
return res.render('AuthLogin', { isAuthenticated: false, errorMessage: err.message, setupData: {}, showActiveDirectoryForm: true, currentUrl: req.originalUrl });
|
||||
}
|
||||
if (!user) {
|
||||
console.log('User not authorized'); // Debug log
|
||||
return res.render('AuthLogin', { isAuthenticated: false, errorMessage: 'L\'utilisateur n\'est pas autorisé.', setupData: {}, showActiveDirectoryForm: true, currentUrl: req.originalUrl });
|
||||
}
|
||||
req.user = {
|
||||
@@ -65,8 +75,16 @@ router.post('/activedirectory', (req, res, next) => {
|
||||
name: user._json.sAMAccountName,
|
||||
id: user._json.sAMAccountName,
|
||||
};
|
||||
console.log('User object:', req.user); // Debug log
|
||||
req.logIn(req.user, function(err) {
|
||||
if (err) { return next(err); }
|
||||
if (err) {
|
||||
console.log('Login error:', err); // Debug log
|
||||
return next(err);
|
||||
}
|
||||
console.log('User logged in successfully'); // Debug log
|
||||
|
||||
req.session.user = req.user;
|
||||
|
||||
return next();
|
||||
});
|
||||
})(req, res, next);
|
||||
|
||||
Reference in New Issue
Block a user