Skip to content

Commit

Permalink
refactor(auth): use requires and exports style
Browse files Browse the repository at this point in the history
  • Loading branch information
balthazar committed Sep 26, 2015
1 parent cc381e0 commit 5e8b141
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 53 deletions.
63 changes: 32 additions & 31 deletions app/templates/server/auth(auth)/auth.service.js
Original file line number Diff line number Diff line change
@@ -1,42 +1,43 @@
'use strict';

var config = require('../config/environment');
var jwt = require('jsonwebtoken');
var expressJwt = require('express-jwt');
var compose = require('composable-middleware');

var config = require('../config/environment');
var User = require('../api/user/user.model');
var validateJwt = expressJwt({ secret: config.secrets.session });

module.exports = {

/**
* Attach the user object to the request if authenticated
* Otherwise returns 403
*/
isAuthenticated: function () {
return compose()
.use(function (req, res, next) {
validateJwt(req, res, next);
})
.use(function (req, res, next) {
User.findById(req.user._id, function (err, user) {
if (err) { return next(err); }
if (!user) { return res.send(401); }
req.user = user;
next();
});
/**
* Attach the user object to the request if authenticated
* Otherwise returns 403
*/
exports.isAuthenticated = function () {

return compose()
.use(function (req, res, next) {
validateJwt(req, res, next);
})
.use(function (req, res, next) {
User.findById(req.user._id, function (err, user) {
if (err) { return next(err); }
if (!user) { return res.send(401); }
req.user = user;
next();
});
},

/**
* Returns a jwt token, signed by the app secret
*/
signToken: function (id) {
return jwt.sign(
{ _id: id },
config.secrets.session,
{ expiresInMinutes: 60 * 5 }
);
}
});

};

/**
* Returns a jwt token, signed by the app secret
*/
exports.signToken = function (id) {

return jwt.sign(
{ _id: id },
config.secrets.session,
{ expiresInMinutes: 60 * 5 }
);

};
4 changes: 1 addition & 3 deletions app/templates/server/auth(auth)/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@

var express = require('express');
var router = express.Router();
var config = require('../config/environment');
var User = require('../api/user/user.model');

require('./local/passport').setup(User, config);
require('./local/passport');

router.use('/local', require('./local'));

Expand Down
38 changes: 19 additions & 19 deletions app/templates/server/auth(auth)/local/passport.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;

exports.setup = function (User) {
passport.use(new LocalStrategy({
usernameField: 'email',
passwordField: 'password'
},
function (email, password, done) {
User.findOne({
email: email
}, function (err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false, { msg: 'email not found' }); }
if (!user.authenticate(password)) {
return done(null, false, { msg: 'incorrect password' });
}
return done(null, user);
});
}
));
};
var User = require('../../api/user/user.model');

passport.use(new LocalStrategy({
usernameField: 'email',
passwordField: 'password'
},
function (email, password, done) {
User.findOne({
email: email
}, function (err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false, { msg: 'email not found' }); }
if (!user.authenticate(password)) {
return done(null, false, { msg: 'incorrect password' });
}
done(null, user);
});
}
));

0 comments on commit 5e8b141

Please sign in to comment.