Urgent correction of version v1.0.0-beta.14 due to crash issues when acting on the CDN.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-07-12 18:13:03 +02:00
parent aaff0ed4ea
commit 44631acfc6
27 changed files with 704 additions and 534 deletions

View File

@@ -14,10 +14,23 @@ const limiter = rateLimit({
router.post('/', limiter, (req, res, next) => {
passport.authenticate('ActiveDirectory', (err, user) => {
if (err) {
return res.json({ isAuthenticated: false, errorMessage: err.message, setupData: {}, showActiveDirectoryForm: true, currentUrl: req.originalUrl });
console.error("Authentication error:", err);
return res.status(401).json({
isAuthenticated: false,
errorMessage: err.message,
setupData: {},
showActiveDirectoryForm: true,
currentUrl: req.originalUrl
});
}
if (!user) {
return res.json({ isAuthenticated: false, errorMessage: 'User is not authorized.', setupData: {}, showActiveDirectoryForm: true, currentUrl: req.originalUrl });
if (!user) {
return res.status(401).json({
isAuthenticated: false,
errorMessage: 'User is not authorized.',
setupData: {},
showActiveDirectoryForm: true,
currentUrl: req.originalUrl
});
}
req.user = {
...user._json,
@@ -25,15 +38,16 @@ router.post('/', limiter, (req, res, next) => {
id: user._json.sAMAccountName,
};
req.logIn(req.user, function(err) {
if (err) {
return next(err);
if (err) {
return next(err);
}
req.session.user = req.user;
return next();
return res.redirect('/dpanel/dashboard');
});
})(req, res, next);
}, checkUserExistsAD);
module.exports = router;

View File

@@ -4,26 +4,34 @@ const passport = require('passport');
const { checkUserExistsDiscord } = require('../../Middlewares/UserIDMiddlewareDiscord');
const { getUserData, getSetupData } = require('../../Middlewares/watcherMiddleware');
let userData = getUserData();
let setupData;
let user;
getSetupData().then(data => {
setupData = data;
Promise.all([
getSetupData(),
getUserData()
]).then(([setup, userData]) => {
setupData = setup;
user = userData;
if (setupData[0].discord !== undefined) {
const DiscordStrategy = require('../../models/Passport-Discord');
}
getUserData().then(user => {
if (user.identifyURL) {
router.get("/auth/discord", (req, res) => {
res.redirect(user.identifyURL);
});
router.get("/auth/discord", (req, res) => {
if (user && user.identifyURL) {
res.redirect(user.identifyURL);
} else {
res.redirect('/auth/login');
}
});
router.get("/", (req, res) => {
router.get("/", (req, res) => {
if (setupData && setupData.discord && setupData.discord.identifyURL) {
res.redirect(setupData.discord.identifyURL);
});
} else {
res.redirect('/auth/login');
}
});
});
@@ -34,35 +42,22 @@ passport.deserializeUser((user, done) => {
done(null, user);
});
router.get('/callback', (req, res, next) => {
passport.authenticate('discord', (err, user, info) => {
if (err) {
return next(err);
}
if (!user) {
return res.redirect('/auth/login');
}
req.logIn(user, (loginErr) => {
if (loginErr) {
return next(loginErr);
}
checkUserExistsDiscord(req, res, () => {
if (req.userExists) {
return res.redirect('/dpanel/dashboard');
} else {
createUser(req.user, (createErr) => {
if (createErr) {
return next(createErr);
}
return res.redirect('/dpanel/dashboard');
});
router.get('/callback', passport.authenticate('discord', {
failureRedirect: '/auth/login'
}), (req, res, next) => {
checkUserExistsDiscord(req, res, () => {
if (req.userExists) {
return res.redirect('/dpanel/dashboard');
} else {
createUser(req.user, (createErr) => {
if (createErr) {
return next(createErr);
}
return res.redirect('/dpanel/dashboard');
});
});
})(req, res, next);
}
});
});
module.exports = router;
module.exports = router;

View File

@@ -5,6 +5,7 @@ const child_process = require('child_process');
const packageJson = require('../package.json');
const fs = require('fs');
const path = require('path');
const crypto = require('crypto');
function getAllFiles(dirPath, arrayOfFiles) {
const files = fs.readdirSync(dirPath);
@@ -51,11 +52,14 @@ router.get('/', async (req, res) => {
build_version: version,
node_version: process.version,
express_version: expressVersion,
build_sha: child_process.execSync('git rev-parse HEAD').toString().trim(),
build_sha: '',
os_type: os.type(),
os_release: os.release(),
};
const hash = crypto.createHash('md5');
hash.update(buildMetadata.build_version);
buildMetadata.build_sha = hash.digest('hex').substring(0, 32);
res.json(buildMetadata);
} catch (error) {