add a lot of server side libraries, preemptively, still hooking everything up

This commit is contained in:
catarak 2016-05-17 15:50:37 -04:00
parent 4c8684877e
commit 1136ac3f16
4 changed files with 17 additions and 27 deletions

View file

@ -47,7 +47,6 @@
"mongoose": "^4.4.16", "mongoose": "^4.4.16",
"passport": "^0.3.2", "passport": "^0.3.2",
"passport-github": "^1.1.0", "passport-github": "^1.1.0",
"passport-jwt": "^2.0.0",
"passport-local": "^1.0.0", "passport-local": "^1.0.0",
"react": "^15.0.2", "react": "^15.0.2",
"react-dom": "^15.0.2", "react-dom": "^15.0.2",

View file

@ -1,17 +1,9 @@
const passport = require('passport'); const passport = require('passport');
const JwtStrategy = require('passport-jwt').Strategy;
const ExtractJwt = require('passport-jwt').ExtractJwt;
const GitHubStrategy = require('passport-github').Strategy; const GitHubStrategy = require('passport-github').Strategy;
const LocalStrategy = require('passport-local').Strategy; const LocalStrategy = require('passport-local').Strategy;
const User = require('../models/user'); const User = require('../models/user');
// Setup options for JWT Strategy
const jwtOptions = {
jwtFromRequest: ExtractJwt.fromHeader('authorization'),
secretOrKey: "steve brule"
};
passport.serializeUser((user, done) => { passport.serializeUser((user, done) => {
done(null, user.id); done(null, user.id);
}); });
@ -39,22 +31,6 @@ passport.use(new LocalStrategy({ usernameField: 'email' }, (email, password, don
}); });
})); }));
// Create JWT strategy
passport.use(new JwtStrategy(jwtOptions, function(payload, done) {
// See if the user ID in the payload exists in our database
// If it does, call 'done' with that other
// otherwise, call done without a user object
User.findById(payload.sub, function(err, user) {
if (err) { return done(err, false); }
if (user) {
done(null, user);
} else {
done(null, false);
}
});
}));
/** /**
* Sign in with GitHub. * Sign in with GitHub.
*/ */

View file

@ -24,11 +24,24 @@ import serverConfig from './config';
import users from './routes/user.routes'; import users from './routes/user.routes';
//Body parser, cookie parser, sessions, serve public assets //Body parser, cookie parser, sessions, serve public assets
const MongoStore = require('connect-mongo')(session);
app.use(Express.static(path.resolve(__dirname, '../static'))); app.use(Express.static(path.resolve(__dirname, '../static')));
app.use(bodyParser.urlencoded({extended: true})); app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json()); app.use(bodyParser.json());
app.use(cookieParser()); app.use(cookieParser());
app.use(session({secret: 'steve brule'})); app.use(session({
//this should be SECRET AND IN A SECRET FILE
//TODO add dotenv
secret: 'steve brule',
resave: true,
saveUninitialized: true,
store: new MongoStore({
// url: process.env.MONGODB_URI || process.env.MONGOLAB_URI,
url: serverConfig.mongoURL,
autoReconnect: true
})
}));
app.use(passport.initialize()); app.use(passport.initialize());
app.use(passport.session()); app.use(passport.session());
app.use('/', users); app.use('/', users);
@ -43,6 +56,8 @@ mongoose.connection.on('error', () => {
process.exit(1); process.exit(1);
}); });
const passportConfig = require('./config/passport');
app.get("/", function(req, res) { app.get("/", function(req, res) {
res.sendFile(path.resolve(__dirname + '/../index.html')); res.sendFile(path.resolve(__dirname + '/../index.html'));
}) })