diff --git a/react/containers/ChannelCreateForm/view.jsx b/react/containers/ChannelCreateForm/view.jsx index 4d26562c..54099185 100644 --- a/react/containers/ChannelCreateForm/view.jsx +++ b/react/containers/ChannelCreateForm/view.jsx @@ -34,7 +34,6 @@ class ChannelCreateForm extends React.Component { } else { this.setState({error: 'Please enter a channel name'}); } - console.log('end of handlechannelinput'); } handleInput (event) { const name = event.target.name; @@ -61,11 +60,10 @@ class ChannelCreateForm extends React.Component { return new Promise((resolve, reject) => { makeGetRequest(`/api/channel-is-available/${channelWithAtSymbol}`) .then(isAvailable => { + console.log('checkIsChannelAvailable result:', isAvailable); if (!isAvailable) { - console.log('channel is not available'); return reject(new Error('That channel has already been claimed')); } - console.log('channel is available'); resolve(); }) .catch((error) => { @@ -89,6 +87,7 @@ class ChannelCreateForm extends React.Component { return new Promise((resolve, reject) => { makePostRequest('/signup', params) .then(result => { + console.log('makePublishChannelRequest result:', result); return resolve(result); }) .catch(error => { diff --git a/react/containers/ChannelLoginForm/view.jsx b/react/containers/ChannelLoginForm/view.jsx index f1b6b69e..4cb04a38 100644 --- a/react/containers/ChannelLoginForm/view.jsx +++ b/react/containers/ChannelLoginForm/view.jsx @@ -20,11 +20,15 @@ class ChannelLoginForm extends React.Component { loginToChannel (event) { event.preventDefault(); const params = `username=${this.state.name}&password=${this.state.password}`; - const url = '/login'; const that = this; - makePostRequest(url, params) + makePostRequest('login', params) .then(result => { - that.props.onChannelLogin(result.channelName, result.shortChannelId, result.channelClaimId); + console.log('loginToChannel result:', result); + if (result.success) { + that.props.onChannelLogin(result.channelName, result.shortChannelId, result.channelClaimId); + } else { + that.setState({'error': result.message}); + }; }) .catch(error => { console.log('login error', error); diff --git a/react/containers/PublishUrlInput/view.jsx b/react/containers/PublishUrlInput/view.jsx index 7d100eaf..e1b4086a 100644 --- a/react/containers/PublishUrlInput/view.jsx +++ b/react/containers/PublishUrlInput/view.jsx @@ -43,6 +43,7 @@ class PublishUrlInput extends React.Component { const that = this; makeGetRequest(`/api/claim-is-available/${claim}`) .then(response => { + console.log('makeGetRequest response:', response); if (response) { that.props.onUrlError(null); } else { diff --git a/react/utils/auth.js b/react/utils/auth.js index 1b0deeae..903b20dc 100644 --- a/react/utils/auth.js +++ b/react/utils/auth.js @@ -2,8 +2,7 @@ import {makeGetRequest} from 'utils/xhr'; module.exports = { authenticateUser () { - // send authentication request to server - // receive the user info back + // send request to server & receive the user info back return makeGetRequest('/user'); }, }; diff --git a/react/utils/xhr.js b/react/utils/xhr.js index b4f8a7c3..f786d289 100644 --- a/react/utils/xhr.js +++ b/react/utils/xhr.js @@ -6,14 +6,9 @@ module.exports = { xhttp.responseType = 'json'; xhttp.onreadystatechange = () => { if (xhttp.readyState === 4) { - if (xhttp.status === 200) { - resolve(xhttp.response); - } if (xhttp.status === 401) { - reject(new Error('Wrong username or password')); - } else { - reject(new Error(xhttp.response)); - } - } + console.log('makeGetRequest response:', xhttp.response); + resolve(xhttp.response); + }; }; xhttp.send(); }); @@ -26,14 +21,9 @@ module.exports = { xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhttp.onreadystatechange = () => { if (xhttp.readyState === 4) { - if (xhttp.status === 200) { - resolve(xhttp.response); - } if (xhttp.status === 401) { - reject(new Error('Wrong username or password')); - } else { - reject(new Error(xhttp.response)); - } - } + console.log('makePostRequest response:', xhttp.response); + resolve(xhttp.response); + }; }; xhttp.send(params); }); diff --git a/routes/auth-routes.js b/routes/auth-routes.js index ff50a356..62e89bf9 100644 --- a/routes/auth-routes.js +++ b/routes/auth-routes.js @@ -13,15 +13,31 @@ module.exports = (app) => { }); }); // route for log in - app.post('/login', passport.authenticate('local-login'), (req, res) => { - // logger.debug('req.user:', req.user); // req.user contains the authenticated user's info - logger.debug('successful login'); - res.status(200).json({ - success : true, - channelName : req.user.channelName, - channelClaimId: req.user.channelClaimId, - shortChannelId: req.user.shortChannelId, - }); + app.post('/login', (req, res, next) => { + passport.authenticate('local-login', (err, user, info) => { + logger.debug('info:', info); + if (err) { + return next(err); + } + if (!user) { + return res.status(200).json({ + success: false, + message: info.message, + }); + } + logger.debug('successful login'); + req.logIn(user, (err) => { + if (err) { + return next(err); + } + return res.status(200).json({ + success : true, + channelName : req.user.channelName, + channelClaimId: req.user.channelClaimId, + shortChannelId: req.user.shortChannelId, + }); + }); + })(req, res, next); }); // see if user is authenticated, and return credentials if so app.get('/user', (req, res) => {