add a lot of server side libraries, preemptively, still hooking everything up
This commit is contained in:
parent
4c8684877e
commit
1136ac3f16
4 changed files with 17 additions and 27 deletions
|
@ -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",
|
||||||
|
|
|
@ -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.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -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'));
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in a new issue