fix FCC running using router syntax
This commit is contained in:
@ -9,7 +9,7 @@ var gulp = require('gulp'),
|
|||||||
eslint = require('gulp-eslint');
|
eslint = require('gulp-eslint');
|
||||||
|
|
||||||
var paths = {
|
var paths = {
|
||||||
server: './server.js',
|
server: './server/server.js',
|
||||||
serverIgnore: []
|
serverIgnore: []
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
"npm": "2.3.0"
|
"npm": "2.3.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node app.js",
|
"start": "node server/server.js",
|
||||||
"lint": "eslint --ext=.js,.jsx .",
|
"lint": "eslint --ext=.js,.jsx .",
|
||||||
"test": "mocha"
|
"test": "mocha"
|
||||||
},
|
},
|
||||||
|
68
server/boot/passport.js
Normal file
68
server/boot/passport.js
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
var express = require('express'),
|
||||||
|
passport = require('passport'),
|
||||||
|
passportConf = require('../../config/passport');
|
||||||
|
|
||||||
|
var router = express.Router();
|
||||||
|
var passportOptions = {
|
||||||
|
successRedirect: '/',
|
||||||
|
failureRedirect: '/login'
|
||||||
|
};
|
||||||
|
|
||||||
|
router.all('/account', passportConf.isAuthenticated);
|
||||||
|
|
||||||
|
router.get('/auth/twitter', passport.authenticate('twitter'));
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/auth/twitter/callback',
|
||||||
|
passport.authenticate('twitter', {
|
||||||
|
successRedirect: '/',
|
||||||
|
failureRedirect: '/login'
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/auth/linkedin',
|
||||||
|
passport.authenticate('linkedin', {
|
||||||
|
state: 'SOME STATE'
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/auth/linkedin/callback',
|
||||||
|
passport.authenticate('linkedin', passportOptions)
|
||||||
|
);
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/auth/facebook',
|
||||||
|
passport.authenticate('facebook', {scope: ['email', 'user_location']})
|
||||||
|
);
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/auth/facebook/callback',
|
||||||
|
passport.authenticate('facebook', passportOptions), function (req, res) {
|
||||||
|
res.redirect(req.session.returnTo || '/');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
router.get('/auth/github', passport.authenticate('github'));
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/auth/github/callback',
|
||||||
|
passport.authenticate('github', passportOptions), function (req, res) {
|
||||||
|
res.redirect(req.session.returnTo || '/');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/auth/google',
|
||||||
|
passport.authenticate('google', {scope: 'profile email'})
|
||||||
|
);
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/auth/google/callback',
|
||||||
|
passport.authenticate('google', passportOptions), function (req, res) {
|
||||||
|
res.redirect(req.session.returnTo || '/');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
module.exports = router;
|
@ -1,16 +1,18 @@
|
|||||||
var _ = require('lodash'),
|
var _ = require('lodash'),
|
||||||
|
R = require('ramda'),
|
||||||
async = require('async'),
|
async = require('async'),
|
||||||
crypto = require('crypto'),
|
crypto = require('crypto'),
|
||||||
nodemailer = require('nodemailer'),
|
nodemailer = require('nodemailer'),
|
||||||
passport = require('passport'),
|
passport = require('passport'),
|
||||||
|
moment = require('moment'),
|
||||||
|
express = require('express'),
|
||||||
|
debug = require('debug')('freecc:cntr:userController'),
|
||||||
|
|
||||||
User = require('../../models/User'),
|
User = require('../../models/User'),
|
||||||
secrets = require('../../config/secrets'),
|
secrets = require('../../config/secrets'),
|
||||||
moment = require('moment'),
|
resources = require('./../resources/resources');
|
||||||
debug = require('debug')('freecc:cntr:userController'),
|
|
||||||
resources = require('./../resources/resources'),
|
|
||||||
R = require('ramda');
|
|
||||||
|
|
||||||
|
|
||||||
|
var router = express.Router();
|
||||||
router.get('/login', function(req, res) {
|
router.get('/login', function(req, res) {
|
||||||
res.redirect(301, '/signin');
|
res.redirect(301, '/signin');
|
||||||
});
|
});
|
||||||
|
@ -5,7 +5,7 @@ var express = require('express'),
|
|||||||
Slack = require('node-slack'),
|
Slack = require('node-slack'),
|
||||||
request = require('request'),
|
request = require('request'),
|
||||||
debug = require('debug')('freecc:cntr:resources'),
|
debug = require('debug')('freecc:cntr:resources'),
|
||||||
constantStrings = require('./constantStrings.json'),
|
constantStrings = require('../resources/constantStrings.json'),
|
||||||
|
|
||||||
User = require('../../models/User'),
|
User = require('../../models/User'),
|
||||||
Challenge = require('./../../models/Challenge'),
|
Challenge = require('./../../models/Challenge'),
|
||||||
|
@ -41,12 +41,12 @@ Array.zip = function(left, right, combinerFunction) {
|
|||||||
if (!challengeMap) {
|
if (!challengeMap) {
|
||||||
var localChallengeMap = {};
|
var localChallengeMap = {};
|
||||||
var files = fs.readdirSync(
|
var files = fs.readdirSync(
|
||||||
path.join(__dirname, '/../seed_data/challenges')
|
path.join(__dirname, '../../seed_data/challenges')
|
||||||
);
|
);
|
||||||
var keyCounter = 0;
|
var keyCounter = 0;
|
||||||
files = files.map(function (file) {
|
files = files.map(function (file) {
|
||||||
return require(
|
return require(
|
||||||
path.join(__dirname, '/../seed_data/challenges/' + file)
|
path.join(__dirname, '../../seed_data/challenges/' + file)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
files = files.sort(function (a, b) {
|
files = files.sort(function (a, b) {
|
||||||
|
@ -33,7 +33,6 @@ var express = require('express'),
|
|||||||
* routers.
|
* routers.
|
||||||
*/
|
*/
|
||||||
homeRouter = require('./boot/home'),
|
homeRouter = require('./boot/home'),
|
||||||
resourcesRouter = require('./resources/resources'),
|
|
||||||
userRouter = require('./boot/user'),
|
userRouter = require('./boot/user'),
|
||||||
fieldGuideRouter = require('./boot/fieldGuide'),
|
fieldGuideRouter = require('./boot/fieldGuide'),
|
||||||
challengeMapRouter = require('./boot/challengeMap'),
|
challengeMapRouter = require('./boot/challengeMap'),
|
||||||
@ -42,12 +41,12 @@ var express = require('express'),
|
|||||||
redirectsRouter = require('./boot/redirects'),
|
redirectsRouter = require('./boot/redirects'),
|
||||||
utilityRouter = require('./boot/utility'),
|
utilityRouter = require('./boot/utility'),
|
||||||
storyRouter = require('./boot/story'),
|
storyRouter = require('./boot/story'),
|
||||||
|
passportRouter = require('./boot/passport'),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* API keys and Passport configuration.
|
* API keys and Passport configuration.
|
||||||
*/
|
*/
|
||||||
secrets = require('./../config/secrets'),
|
secrets = require('./../config/secrets');
|
||||||
passportConf = require('./../config/passport');
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create Express server.
|
* Create Express server.
|
||||||
@ -199,7 +198,7 @@ app.use(function (req, res, next) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
app.use(
|
app.use(
|
||||||
express.static(path.join(__dirname, '/public'), { maxAge: 86400000 })
|
express.static(path.join(__dirname, '../public'), { maxAge: 86400000 })
|
||||||
);
|
);
|
||||||
|
|
||||||
app.use(function (req, res, next) {
|
app.use(function (req, res, next) {
|
||||||
@ -216,7 +215,6 @@ app.use(function (req, res, next) {
|
|||||||
|
|
||||||
// add sub routers
|
// add sub routers
|
||||||
app.use(homeRouter);
|
app.use(homeRouter);
|
||||||
app.use(resourcesRouter);
|
|
||||||
app.use(userRouter);
|
app.use(userRouter);
|
||||||
app.use(fieldGuideRouter);
|
app.use(fieldGuideRouter);
|
||||||
app.use(challengeMapRouter);
|
app.use(challengeMapRouter);
|
||||||
@ -225,74 +223,12 @@ app.use(jobsRouter);
|
|||||||
app.use(redirectsRouter);
|
app.use(redirectsRouter);
|
||||||
app.use(utilityRouter);
|
app.use(utilityRouter);
|
||||||
app.use(storyRouter);
|
app.use(storyRouter);
|
||||||
|
app.use(passportRouter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OAuth sign-in routes.
|
* OAuth sign-in routes.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
app.all('/account', passportConf.isAuthenticated);
|
|
||||||
var passportOptions = {
|
|
||||||
successRedirect: '/',
|
|
||||||
failureRedirect: '/login'
|
|
||||||
};
|
|
||||||
|
|
||||||
app.get('/auth/twitter', passport.authenticate('twitter'));
|
|
||||||
|
|
||||||
app.get(
|
|
||||||
'/auth/twitter/callback',
|
|
||||||
passport.authenticate('twitter', {
|
|
||||||
successRedirect: '/',
|
|
||||||
failureRedirect: '/login'
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
app.get(
|
|
||||||
'/auth/linkedin',
|
|
||||||
passport.authenticate('linkedin', {
|
|
||||||
state: 'SOME STATE'
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
app.get(
|
|
||||||
'/auth/linkedin/callback',
|
|
||||||
passport.authenticate('linkedin', passportOptions)
|
|
||||||
);
|
|
||||||
|
|
||||||
app.get(
|
|
||||||
'/auth/facebook',
|
|
||||||
passport.authenticate('facebook', {scope: ['email', 'user_location']})
|
|
||||||
);
|
|
||||||
|
|
||||||
app.get(
|
|
||||||
'/auth/facebook/callback',
|
|
||||||
passport.authenticate('facebook', passportOptions), function (req, res) {
|
|
||||||
res.redirect(req.session.returnTo || '/');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
app.get('/auth/github', passport.authenticate('github'));
|
|
||||||
|
|
||||||
app.get(
|
|
||||||
'/auth/github/callback',
|
|
||||||
passport.authenticate('github', passportOptions), function (req, res) {
|
|
||||||
res.redirect(req.session.returnTo || '/');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
app.get(
|
|
||||||
'/auth/google',
|
|
||||||
passport.authenticate('google', {scope: 'profile email'})
|
|
||||||
);
|
|
||||||
|
|
||||||
app.get(
|
|
||||||
'/auth/google/callback',
|
|
||||||
passport.authenticate('google', passportOptions), function (req, res) {
|
|
||||||
res.redirect(req.session.returnTo || '/');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 500 Error Handler.
|
* 500 Error Handler.
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user