Skip to content

Commit 2af85fb

Browse files
committed
feat: update passport
1 parent 62b7e6f commit 2af85fb

File tree

3 files changed

+113
-96
lines changed

3 files changed

+113
-96
lines changed

Parse-Dashboard/Authentication.js

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ const bcrypt = require('bcryptjs');
33
const csrf = require('csurf');
44
const passport = require('passport');
55
const LocalStrategy = require('passport-local').Strategy;
6-
const OTPAuth = require('otpauth')
6+
const OTPAuth = require('otpauth');
7+
const session = require('express-session');
78

89
/**
910
* Constructor for Authentication class
@@ -55,34 +56,46 @@ function initialize(app, options) {
5556

5657
const cookieSessionSecret = options.cookieSessionSecret || require('crypto').randomBytes(64).toString('hex');
5758
const cookieSessionMaxAge = options.cookieSessionMaxAge;
59+
5860
app.use(require('connect-flash')());
5961
app.use(require('body-parser').urlencoded({ extended: true }));
60-
app.use(require('cookie-session')({
61-
key : 'parse_dash',
62-
secret : cookieSessionSecret,
63-
maxAge : cookieSessionMaxAge
62+
63+
app.use(session({
64+
name: 'parse_dash',
65+
secret: cookieSessionSecret,
66+
resave: false,
67+
saveUninitialized: false,
68+
cookie: {
69+
maxAge: cookieSessionMaxAge,
70+
httpOnly: true,
71+
secure: process.env.NODE_ENV === 'production',
72+
sameSite: 'lax'
73+
}
6474
}));
75+
6576
app.use(passport.initialize());
6677
app.use(passport.session());
6778

6879
app.post('/login',
6980
csrf(),
70-
(req,res,next) => {
81+
(req, res, next) => {
7182
let redirect = 'apps';
7283
if (req.body.redirect) {
73-
redirect = req.body.redirect.charAt(0) === '/' ? req.body.redirect.substring(1) : req.body.redirect
84+
redirect = req.body.redirect.charAt(0) === '/' ? req.body.redirect.substring(1) : req.body.redirect;
7485
}
7586
return passport.authenticate('local', {
7687
successRedirect: `${self.mountPath}${redirect}`,
7788
failureRedirect: `${self.mountPath}login${req.body.redirect ? `?redirect=${req.body.redirect}` : ''}`,
78-
failureFlash : true
79-
})(req, res, next)
89+
failureFlash: true
90+
})(req, res, next);
8091
},
8192
);
8293

83-
app.get('/logout', function(req, res){
84-
req.logout();
85-
res.redirect(`${self.mountPath}login`);
94+
app.get('/logout', function(req, res, next) {
95+
req.logout(function(err) {
96+
if (err) { return next(err); }
97+
res.redirect(`${self.mountPath}login`);
98+
});
8699
});
87100
}
88101

package-lock.json

Lines changed: 86 additions & 82 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@
4141
"body-parser": "2.2.0",
4242
"commander": "13.1.0",
4343
"connect-flash": "0.1.1",
44-
"cookie-session": "2.1.0",
4544
"copy-to-clipboard": "3.3.3",
4645
"core-js": "3.41.0",
4746
"csurf": "1.11.0",
4847
"express": "4.21.2",
48+
"express-session": "1.18.1",
4949
"graphiql": "2.0.8",
5050
"graphql": "16.11.0",
5151
"immutable": "5.1.2",
@@ -55,7 +55,7 @@
5555
"otpauth": "8.0.3",
5656
"package-json": "7.0.0",
5757
"parse": "3.5.1",
58-
"passport": "0.5.3",
58+
"passport": "0.7.0",
5959
"passport-local": "1.0.0",
6060
"prismjs": "1.30.0",
6161
"prop-types": "15.8.1",

0 commit comments

Comments
 (0)