|
@@ -39,6 +39,16 @@ module.exports = function(crowi, app) {
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+ var loginSuccessForPassport = function(req, res, userData) {
|
|
|
|
|
+ var jumpTo = req.session.jumpTo;
|
|
|
|
|
+ if (jumpTo) {
|
|
|
|
|
+ req.session.jumpTo = null;
|
|
|
|
|
+ return res.redirect(jumpTo);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return res.redirect('/');
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
var loginFailure = function(req, res) {
|
|
var loginFailure = function(req, res) {
|
|
|
req.flash('warningMessage', 'Sign in failure.');
|
|
req.flash('warningMessage', 'Sign in failure.');
|
|
|
return res.redirect('/login');
|
|
return res.redirect('/login');
|
|
@@ -87,7 +97,7 @@ module.exports = function(crowi, app) {
|
|
|
debug(err);
|
|
debug(err);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
- loginSuccess(req, res, userData);
|
|
|
|
|
|
|
+ loginSuccessForPassport(req, res, userData);
|
|
|
} else {
|
|
} else {
|
|
|
loginFailure(req, res);
|
|
loginFailure(req, res);
|
|
|
}
|
|
}
|
|
@@ -104,33 +114,28 @@ module.exports = function(crowi, app) {
|
|
|
actions.loginWithPassport = function(req, res, next) {
|
|
actions.loginWithPassport = function(req, res, next) {
|
|
|
var loginForm = req.body.loginForm;
|
|
var loginForm = req.body.loginForm;
|
|
|
|
|
|
|
|
- if (req.method == 'POST' && req.form.isValid) {
|
|
|
|
|
-
|
|
|
|
|
- passport.authenticate('local', function(err, user, info) {
|
|
|
|
|
- debug('---authentication with passport start---');
|
|
|
|
|
- debug('user', user);
|
|
|
|
|
- debug('info', info);
|
|
|
|
|
-
|
|
|
|
|
- if (err) { return loginFailure(req, res); }
|
|
|
|
|
- if (!user) { return loginFailure(req, res); }
|
|
|
|
|
- req.logIn(user, function(err) {
|
|
|
|
|
- if (err != null) {
|
|
|
|
|
- debug(err);
|
|
|
|
|
- return loginFailure(req, res);
|
|
|
|
|
- }
|
|
|
|
|
- return loginSuccess(req, res, user);
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- debug('---authentication with passport end---');
|
|
|
|
|
- })(req, res, next);
|
|
|
|
|
-
|
|
|
|
|
- } else { // method GET
|
|
|
|
|
- if (req.form) {
|
|
|
|
|
- debug(req.form.errors);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (!req.form.isValid) {
|
|
|
return res.render('login', {
|
|
return res.render('login', {
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ passport.authenticate('local', function(err, user, info) {
|
|
|
|
|
+ debug('---authentication with passport start---');
|
|
|
|
|
+ debug('user', user);
|
|
|
|
|
+ debug('info', info);
|
|
|
|
|
+
|
|
|
|
|
+ if (err) { return loginFailure(req, res); }
|
|
|
|
|
+ if (!user) { return loginFailure(req, res); }
|
|
|
|
|
+ req.logIn(user, function(err) {
|
|
|
|
|
+ if (err != null) {
|
|
|
|
|
+ debug(err);
|
|
|
|
|
+ return loginFailure(req, res);
|
|
|
|
|
+ }
|
|
|
|
|
+ return loginSuccess(req, res, user);
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ debug('---authentication with passport end---');
|
|
|
|
|
+ })(req, res, next);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
actions.loginGoogle = function(req, res) {
|
|
actions.loginGoogle = function(req, res) {
|