From cd38a2d88ebd4209e0ad254c13b1ce6f3f73ae3d Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Tue, 9 Jun 2015 17:22:14 -0700 Subject: [PATCH] fix user local signin --- server/boot/a-extendUser.js | 22 ++++++++++++++++++++++ server/passport-providers.js | 3 ++- server/views/account/email-signin.jade | 2 +- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/server/boot/a-extendUser.js b/server/boot/a-extendUser.js index 23613db13d..a719949eda 100644 --- a/server/boot/a-extendUser.js +++ b/server/boot/a-extendUser.js @@ -36,6 +36,28 @@ module.exports = function(app) { }); }); + User.afterRemote('login', function(ctx, accessToken) { + var res = ctx.res; + var req = ctx.req; + + var config = { + signed: !!req.signedCookies, + maxAge: 1000 * accessToken.ttl + }; + if (accessToken && accessToken.id) { + res.cookie('access_token', accessToken.id, config); + res.cookie('userId', accessToken.userId, config); + } + res.redirect('/'); + }); + + User.afterRemote('logout', function(ctx, result, next) { + var res = ctx.result; + res.clearCookie('access_token'); + res.clearCookie('userId'); + next(); + }); + User.doesExist = function doesExist(username, email, cb) { debug('checking existence'); var where = {}; diff --git a/server/passport-providers.js b/server/passport-providers.js index 97bb12bbe6..3c779a162e 100644 --- a/server/passport-providers.js +++ b/server/passport-providers.js @@ -8,7 +8,8 @@ module.exports = { passwordField: 'password', authPath: '/auth/local', successRedirect: successRedirect, - failureRedirect: failureRedirect, + failureRedirect: '/email-signin', + session: true, failureFlash: true }, 'facebook-login': { diff --git a/server/views/account/email-signin.jade b/server/views/account/email-signin.jade index 26047d3c6d..4bc51797a2 100644 --- a/server/views/account/email-signin.jade +++ b/server/views/account/email-signin.jade @@ -2,7 +2,7 @@ extends ../layout block content .jumbotron.text-center(ng-controller="emailSignInController") h2 Sign in with an email address here: - form(method='POST', action='/api/user/login') + form(method='POST', action='/auth/local') input(type='hidden', name='_csrf', value=_csrf) .col-sm-6.col-sm-offset-3 .form-group