diff --git a/server/boot/user.js b/server/boot/user.js index 0f2bb8f7c8..75d41ee2f1 100644 --- a/server/boot/user.js +++ b/server/boot/user.js @@ -143,6 +143,7 @@ module.exports = function(app) { res.redirect(301, '/signout'); }); router.get('/signin', getSignin); + router.get('/signin-com', getSigninCom); router.get('/signout', signout); router.get('/forgot', getForgot); router.post('/forgot', postForgot); @@ -225,6 +226,15 @@ module.exports = function(app) { }); } + function getSigninCom(req, res) { + if (req.user) { + return res.redirect('/'); + } + return res.render('account/signin-com', { + title: 'Sign in to freeCodeCamp' + }); + } + function signout(req, res) { req.logout(); req.flash('success', { diff --git a/server/middleware.json b/server/middleware.json index 1dade70f10..48bacda71f 100644 --- a/server/middleware.json +++ b/server/middleware.json @@ -39,6 +39,7 @@ }, "routes:before": { "express-flash": {}, + "./middlewares/coming-from-com": {}, "helmet#xssFilter": {}, "helmet#noSniff": {}, "helmet#frameguard": {}, diff --git a/server/middlewares/coming-from-com.js b/server/middlewares/coming-from-com.js new file mode 100644 index 0000000000..633a641011 --- /dev/null +++ b/server/middlewares/coming-from-com.js @@ -0,0 +1,11 @@ +export default () => { + return function comingFromCom(req, res, next) { + if ( + !req.user && + req.query.ref === 'com' + ) { + return res.redirect('/signin-com'); + } + return next(); + }; +}; diff --git a/server/views/account/signin-com.jade b/server/views/account/signin-com.jade new file mode 100644 index 0000000000..4e426377fc --- /dev/null +++ b/server/views/account/signin-com.jade @@ -0,0 +1,16 @@ +extends ../layout +block content + .text-center + h2 Welcome to our new freecodecamp.ORG address. + h4 We sent you here from our old freecodecamp.COM address. + h4 Please sign in again to continue coding. Thanks! + .spacer + a.btn.btn-lg.btn-block.btn-social.btn-primary(href='/email-signin') + i.fa.fa-envelope + | Sign in with Email + a.btn.btn-lg.btn-block.btn-social.btn-github(href='/auth/github') + i.fa.fa-github + | Sign in with GitHub + .button-spacer + p + a(href="/deprecated-signin") Click here if you previously signed in using a different method.