Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // server.js
- var express = require('express')
- var app = express()
- var https = require('https')
- var jade = require('jade')
- var mongodb = require('mongodb')
- var mongoose = require('mongoose')
- var errorHandler = require('error-handler')
- var bodyParser = require('body-parser')
- var cookieParser = require('cookie-parser')
- var morgan = require('morgan')
- var passport = require('passport')
- var flash = require('connect-flash');
- var Account = require('./models/account')
- require('./db/mongoose.js')(mongoose)
- var passport = require('./passport/passportConfig.js')(app,Account)
- require('./passport/passportAuth.js')(passport,Account)
- app.use(morgan('dev'));
- app.use(bodyParser.json());
- app.use(bodyParser.urlencoded({ extended: true }));
- app.use(cookieParser());
- app.use(flash());
- app.use(express.static(__dirname + '/public'));
- app.set('views', './views');
- app.set('view engine', 'jade');
- app.use(flash());
- // Require routes modules, setting up express to route
- require('./routes/routes_www')(app)
- require('./routes/routes_auth')(app,passport)
- //require('./routes/routes_api')(app,questions,tags,users)
- // Start listening
- app.listen(4020, function() {
- console.log("\nListening at \"Cuarenta y Veinte\" upon SSL configs, Mongoose and MongoDB connection setups")
- })
- // Important part of routes_auth
- module.exports = (function (app, passport) {
- var Account = require('../models/account');
- app.route('/login')
- .post(passport.authenticate('local'), function (request,response) {
- console.log("Done")
- response.render('start',{user:request.local.email})
- })
- })
- ....
- // Passport Config
- module.exports = (function (app) {
- var passport = require('passport')
- var session = require('express-session');
- var MongoStore = require('connect-mongo')(session);
- var Account = require('../models/account');
- app.use(session({
- secret: 'q~!!#s4HALA^MADRIDcds4<>>*S3',
- saveUninitialized: false,
- resave: false,
- }));
- app.use(passport.initialize());
- app.use(passport.session());
- passport.serializeUser(function(user, done) {
- done(null, user.id);
- });
- passport.deserializeUser(function(id, done) {
- Account.findById(id, function(err, user) {
- done(err, user.local);
- });
- });
- return passport
- })
- // Passport Auth
- module.exports = function(passport) {
- var Account = require('../models/account');
- var LocalStrategy = require('passport-local').Strategy;
- passport.use(new LocalStrategy({usernameField: 'email', passwordField: 'password'},
- function (email,password,done) {
- Account.findOne({"local.email":email}, function (err,account) {
- if (err) return done(err);
- if(!account) return done(null,false, {message:"Usuario incorrecto."})
- account.validPassword(password, function (err,matched) {
- if (matched) return(null,account.local)
- else return done(null, false, {message:"Contraseña incorrecta."})
- })
- })
- }))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement