From a155e7638d0caa7c585cdd90e1c785599a0922fc Mon Sep 17 00:00:00 2001 From: Cassie Tarakajian Date: Fri, 6 Sep 2019 13:30:06 -0400 Subject: [PATCH] re #1153: fix bug in which login form was in invalid state if user had entered username or password incorrectly on the first try (#1155) --- client/modules/User/actions.js | 5 ++--- client/modules/User/pages/LoginView.jsx | 4 ++-- server/controllers/session.controller.js | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/client/modules/User/actions.js b/client/modules/User/actions.js index d988dbc7..86c366c4 100644 --- a/client/modules/User/actions.js +++ b/client/modules/User/actions.js @@ -64,9 +64,8 @@ export function validateAndLoginUser(previousPath, formProps, dispatch) { browserHistory.push(previousPath); resolve(); }) - .catch((response) => { - reject({ password: response.data.message, _error: 'Login failed!' }); // eslint-disable-line - }); + .catch(error => + reject({ password: error.response.data.message, _error: 'Login failed!' })); // eslint-disable-line }); } diff --git a/client/modules/User/pages/LoginView.jsx b/client/modules/User/pages/LoginView.jsx index 696af234..3919822c 100644 --- a/client/modules/User/pages/LoginView.jsx +++ b/client/modules/User/pages/LoginView.jsx @@ -81,9 +81,9 @@ function mapDispatchToProps() { LoginView.propTypes = { previousPath: PropTypes.string.isRequired, - user: { + user: PropTypes.shape({ authenticated: PropTypes.bool - } + }) }; LoginView.defaultProps = { diff --git a/server/controllers/session.controller.js b/server/controllers/session.controller.js index 211b8a46..9fd16e97 100644 --- a/server/controllers/session.controller.js +++ b/server/controllers/session.controller.js @@ -4,7 +4,7 @@ export function createSession(req, res, next) { passport.authenticate('local', (err, user) => { // eslint-disable-line consistent-return if (err) { return next(err); } if (!user) { - return res.status(401).send({ message: 'Invalid username or password.' }); + return res.status(401).json({ message: 'Invalid username or password.' }); } req.logIn(user, (innerErr) => {