From 674d995977a612b8840648ac2d65cb06f70fae87 Mon Sep 17 00:00:00 2001 From: Lucas Gabriel Lima <lgl15@inf.ufpr.br> Date: Thu, 29 Sep 2016 09:47:02 -0300 Subject: [PATCH] Revert "resolve conflicts" This reverts commit bfe64623b6769e7ec143ee61e04c8a256d19c870, reversing changes made to 9c8cfa58a19fb5f1c837bf27f58a68909ea3df59. --- config.json.example | 3 +- package.json | 4 -- src/libs/app.js | 9 +--- src/libs/db/mongoose.js | 4 +- src/libs/middlewares/passport.js | 28 ----------- src/libs/models/user.js | 49 -------------------- src/libs/routes/api.js | 3 -- src/libs/routes/user.js | 79 -------------------------------- src/server.js | 11 +---- 9 files changed, 6 insertions(+), 184 deletions(-) delete mode 100644 src/libs/middlewares/passport.js delete mode 100644 src/libs/models/user.js delete mode 100644 src/libs/routes/user.js diff --git a/config.json.example b/config.json.example index 26ded7f9..136ee928 100644 --- a/config.json.example +++ b/config.json.example @@ -11,8 +11,7 @@ "nrConnections": "16" }, "mongodb" : { - "uri": "mongodb://localhost/users", - "secret": "simcaqC3SL" + "uri": "mongodb://localhost/users" }, "default": { "api": { diff --git a/package.json b/package.json index dc2908ee..87652e4a 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,6 @@ }, "dependencies": { "apicache": "0.0.14", - "bcrypt": "^0.8.7", "body-parser": "^1.13.1", "chai": "^3.5.0", "chai-http": "^3.0.0", @@ -24,14 +23,11 @@ "faker": "^2.1.5", "forever": "^0.15.2", "js2xmlparser": "^1.0.0", - "jwt-simple": "^0.5.0", "method-override": "^2.3.3", "mocha": "^2.5.3", "monetdb-pool": "0.0.8", "mongoose": "^4.6.0", "nconf": "^0.6.x", - "passport": "^0.3.2", - "passport-jwt": "^2.1.0", "squel": "^5.4.2", "winston": "^2.2.0" }, diff --git a/src/libs/app.js b/src/libs/app.js index 88767b82..b0390720 100644 --- a/src/libs/app.js +++ b/src/libs/app.js @@ -16,16 +16,11 @@ const app = express(); const api = require(`${libs}/routes/api`); -<<<<<<< HEAD const mongoose = require(`${libs}/db/mongoose`); -======= ->>>>>>> auth -const passport = require('passport'); +const db = mongoose(); -app.use(passport.initialize()); - -require('./middlewares/passport')(passport); // pass passport for configuration +process.env.NODE_ENV = process.env.NODE_ENV || 'development'; app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); diff --git a/src/libs/db/mongoose.js b/src/libs/db/mongoose.js index 896438a8..13b3950d 100644 --- a/src/libs/db/mongoose.js +++ b/src/libs/db/mongoose.js @@ -6,14 +6,12 @@ const log = require(`${libs}/log`)(module); const mongoose = require('mongoose'); -mongoose.Promise = global.Promise; - module.exports = () => { const mongoUri = config.get('mongodb:uri'); log.debug(`Connecting to MongDB on URI ${mongoUri}`); const db = mongoose.connect(mongoUri); - mongoose.connection.once('open', () => { log.info('MongoDB connected'); }); + mongoose.connection.once('open', () => { log.info("MongoDB connected"); }); return db; }; diff --git a/src/libs/middlewares/passport.js b/src/libs/middlewares/passport.js deleted file mode 100644 index 4b915419..00000000 --- a/src/libs/middlewares/passport.js +++ /dev/null @@ -1,28 +0,0 @@ -const JwtStrategy = require('passport-jwt').Strategy; -const ExtractJwt = require('passport-jwt').ExtractJwt; -const libs = `${process.cwd()}/libs`; -const config = require(`${libs}/config`); -const User = ('../models/user'); - -module.exports = function(passport){ - var opts = {}; - opts.jwtFromRequest = ExtractJwt.fromAuthHeader(); - opts.secretOrKey = config.get('mongodb:secret'); - passport.use(new JwtStrategy(opts, function(jwt_payload, done){ - User.find({id: jwt_payload.id}, function(err, user){ - if (err) { - return done(err); - } - - if (!user) { - return done(null, false, {message: 'Unknown user'}); - } - - if (!user.comparePassword(password)) { - return done(null, false, {message: 'Invalid password'}); - } - - return done(null, user); - }); - })); -}; diff --git a/src/libs/models/user.js b/src/libs/models/user.js deleted file mode 100644 index 01124ec2..00000000 --- a/src/libs/models/user.js +++ /dev/null @@ -1,49 +0,0 @@ -const mongoose = require('mongoose'); -const bcrypt = require('bcrypt'); -const libs = `${process.cwd()}/libs`; -const log = require(`${libs}/log`)(module); -const Schema = mongoose.Schema; - -// set up a mongoose model -var UserSchema = new Schema({ - email: { - type: String, - unique: true, - required: true - }, - password: { - type: String, - required: true - } -}); - -UserSchema.pre('save', function (next) { - var user = this; - if (this.isModified('password') || this.isNew) { - bcrypt.genSalt(10, function (err, salt) { - if (err) { - return next(err); - } - bcrypt.hash(user.password, salt, function (err, hash) { - if (err) { - return next(err); - } - user.password = hash; - next(); - }); - }); - } else { - return next(); - } -}); - -UserSchema.methods.comparePassword = function (passw, cb) { - bcrypt.compare(passw, this.password, function (err, isMatch) { - if (err) { - return cb(err); - } - cb(null, isMatch); - }); -}; - -module.exports = mongoose.model('User', UserSchema); diff --git a/src/libs/routes/api.js b/src/libs/routes/api.js index 5075f000..c3a870c6 100644 --- a/src/libs/routes/api.js +++ b/src/libs/routes/api.js @@ -12,8 +12,6 @@ const city = require('./city'); const school = require('./school'); -const user = require('./user'); - api.get('/api/v1', (req, res) => { res.json({ msg: 'SimCAQ API is running' }); }); @@ -24,6 +22,5 @@ api.use('/state', state); api.use('/region', region); api.use('/city', city); api.use('/school', school); -api.use('/user', user); module.exports = api; diff --git a/src/libs/routes/user.js b/src/libs/routes/user.js deleted file mode 100644 index 4cb42c04..00000000 --- a/src/libs/routes/user.js +++ /dev/null @@ -1,79 +0,0 @@ -const express = require('express'); - -const userApp = express(); - -const libs = `${process.cwd()}/libs`; - -const config = require(`${libs}/config`); - -const log = require(`${libs}/log`)(module); - -const User = require('../models/user'); - -const jwt = require('jwt-simple'); - - -function emailSyntax(email) { - const regex = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; - return regex.test(email); -} - -userApp.post('/', (req, res, next) => { - if (!req.body.email || !req.body.password) { - res.json({success: false, msg: 'Please pass email and password.'}); - } else { - next(); - } - -}, (req, res, next) => { - if(!emailSyntax(req.body.email)){ - res.json({success: false, msg: 'Invalid email syntax.'}); - } else { - next(); - } - -}, (req, res, next) => { - var newUser = new User({ - email: req.body.email, - password: req.body.password - }); - - // save the user - newUser.save((err) => { - if (err) { - res.json({success: false, msg: 'Email already in use.'}); - } else { - res.json({success: true, msg: 'Successful created new user.'}); - } - }); -}); - -userApp.post('/authenticate', (req, res) => { - User.findOne({ - email: req.body.email - }, (err, user) => { - if (err) throw err; - - if(!user){ - res.json({success: false, msg: 'Authentication failed. User not found.'}); - } - else { - user.comparePassword(req.body.password, (err, isMatch) => { - if (isMatch && !err) { - var secret = config.get('mongodb:secret'); - - // if user is found and password is right create a token - var token = jwt.encode(user, secret); - - //returns user info including token as json - res.json({success: true, token: 'JWT ' + token}); - } - else { - res.json({success: false, msg: 'Authentication failed. Wrong password'}); - } - }) - } - }) -}) - -module.exports = userApp; diff --git a/src/server.js b/src/server.js index 5f08052a..4dde9b8e 100644 --- a/src/server.js +++ b/src/server.js @@ -8,17 +8,10 @@ const log = require(`${libs}/log`)(module); const app = require(`${libs}/app`); -const mongoose = require('./libs/db/mongoose'); - -const db = mongoose(); - -process.env.NODE_ENV = process.env.NODE_ENV || 'development'; - -app.set('port', config.get('port') || 3000); +app.set('port', process.env.PORT || config.get('port') || 3000); app.set('ip', process.env.IP || config.get('ip') || '127.0.0.1'); const server = app.listen(app.get('port'), () => { - debug(`Express server listening on port ${server.address().port}`); - log.info(`Express server listening on port ${config.get('port')}`); + log.info(`Express server listening on port ${server.address().port}`); }); -- GitLab