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
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -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;
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user