From 112972cfdd53d6b0da3365203d76d38b08f69661 Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Mon, 17 Aug 2015 23:57:38 -0700 Subject: [PATCH 1/3] fix enables email login --- common/models/user.js | 13 ++++++++----- common/models/user.json | 1 + server/model-config.json | 5 +---- server/views/account/signin.jade | 9 ++++----- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/common/models/user.js b/common/models/user.js index 36476e5405..7f78c1938f 100644 --- a/common/models/user.js +++ b/common/models/user.js @@ -49,6 +49,7 @@ module.exports = function(User) { // username should be unique User.validatesUniquenessOf('username'); + User.settings.emailVerificationRequired = false; User.observe('before save', function({ instance: user }, next) { if (user) { @@ -116,25 +117,27 @@ module.exports = function(User) { }); }); - User.afterRemote('login', function(ctx, user, next) { + User.afterRemote('login', function(ctx, accessToken, next) { var res = ctx.res; var req = ctx.req; // var args = ctx.args; - var accessToken = {}; var config = { signed: !!req.signedCookies, maxAge: accessToken.ttl }; + if (accessToken && accessToken.id) { + debug('setting cookies'); res.cookie('access_token', accessToken.id, config); res.cookie('userId', accessToken.userId, config); } - debug('before pass login'); - return req.logIn(user, function(err) { + + return req.logIn({ id: accessToken.userId.toString() }, function(err) { if (err) { return next(err); } + debug('user logged in'); req.flash('success', { msg: 'Success! You are logged in.' }); return res.redirect('/'); }); @@ -151,7 +154,7 @@ module.exports = function(User) { }); User.afterRemote('logout', function(ctx, result, next) { - var res = ctx.result; + var res = ctx.res; res.clearCookie('access_token'); res.clearCookie('userId'); next(); diff --git a/common/models/user.json b/common/models/user.json index 62883cf976..d0d8bed6e8 100644 --- a/common/models/user.json +++ b/common/models/user.json @@ -2,6 +2,7 @@ "name": "user", "base": "User", "strict": true, + "emailVerificationRequired": false, "idInjection": true, "trackChanges": false, "properties": { diff --git a/server/model-config.json b/server/model-config.json index 342e408efc..508ff05abc 100644 --- a/server/model-config.json +++ b/server/model-config.json @@ -49,10 +49,7 @@ }, "user": { "dataSource": "db", - "public": true, - "options": { - "emailVerificationRequired": true - } + "public": true }, "userCredential": { "dataSource": "db", diff --git a/server/views/account/signin.jade b/server/views/account/signin.jade index 548f1151f8..1064224f04 100644 --- a/server/views/account/signin.jade +++ b/server/views/account/signin.jade @@ -18,8 +18,7 @@ block content i.fa.fa-linkedin | Sign in with LinkedIn br - p Email sign in is temporarily disabled - we are working to fix this ASAP. - //p - // a(href="/email-signup") Or sign up using your email address here. - //p - // a(href="/email-signin") Sign in to your existing account with your email address here. + p + a(href="/email-signup") Or sign up using your email address here. + p + a(href="/email-signin") Sign in to your existing account with your email address here. From 1d3f7331fb7e8e94489b2353bbc8369e5669dfff Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Tue, 18 Aug 2015 01:32:16 -0700 Subject: [PATCH 2/3] email reset use port in dev --- common/models/user.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/common/models/user.js b/common/models/user.js index 7f78c1938f..1cdedfc425 100644 --- a/common/models/user.js +++ b/common/models/user.js @@ -85,10 +85,16 @@ module.exports = function(User) { }); User.on('resetPasswordRequest', function(info) { + let url; const host = User.app.get('host'); - // TODO(berks) get protocol as well - const url = `http://${host}/reset-password?access_token=` + - info.accessToken.id; + const { id: token } = info.accessToken; + if (process.env.NODE_ENV === 'development') { + const port = User.app.get('port'); + url = `http://${host}:${port}/reset-password?access_token=${token}`; + } else { + url = + `http://${host}/reset-password?access_token=${token}`; + } // the email of the requested user debug(info.email); From 456bf20b05c67add2bd54742c4cf5af127fc2231 Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Tue, 18 Aug 2015 01:40:26 -0700 Subject: [PATCH 3/3] fix should hard code domain for password reset --- common/models/user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/models/user.js b/common/models/user.js index 1cdedfc425..c318a88b94 100644 --- a/common/models/user.js +++ b/common/models/user.js @@ -93,7 +93,7 @@ module.exports = function(User) { url = `http://${host}:${port}/reset-password?access_token=${token}`; } else { url = - `http://${host}/reset-password?access_token=${token}`; + `http://freecodecamp.com/reset-password?access_token=${token}`; } // the email of the requested user