artsy-passport
Version:
Wires up the common auth handlers for Artsy's [Ezel](ezeljs.com)-based apps using [passport](http://passportjs.org/).
55 lines (41 loc) • 2.7 kB
JavaScript
// Generated by CoffeeScript 1.11.1
(function() {
var addLocals, afterSocialAuth, app, beforeSocialAuth, csrf, denyBadLogoutLinks, ensureLoggedInOnAfterSignupPage, express, headerLogin, logout, onError, onLocalLogin, onLocalSignup, opts, passport, ref, ref1, ref2, ref3, setCampaign, ssoAndRedirectBack, trackLogin, trackSignup, trustTokenLogin, twitterLastStep;
express = require('express');
csrf = require('csurf');
passport = require('passport');
app = express();
opts = require('../options');
twitterLastStep = require('./twitter_last_step');
ref = require('./lifecycle'), onLocalLogin = ref.onLocalLogin, onLocalSignup = ref.onLocalSignup, beforeSocialAuth = ref.beforeSocialAuth, afterSocialAuth = ref.afterSocialAuth, ensureLoggedInOnAfterSignupPage = ref.ensureLoggedInOnAfterSignupPage, onError = ref.onError, ssoAndRedirectBack = ref.ssoAndRedirectBack;
ref1 = require('./analytics'), setCampaign = ref1.setCampaign, trackSignup = ref1.trackSignup, trackLogin = ref1.trackLogin;
ref2 = require('./logout'), denyBadLogoutLinks = ref2.denyBadLogoutLinks, logout = ref2.logout;
ref3 = require('./token_login'), headerLogin = ref3.headerLogin, trustTokenLogin = ref3.trustTokenLogin;
addLocals = require('./locals');
module.exports = function() {
app.use(passport.initialize(), passport.session());
app.get('*', csrf({
cookie: true
}));
app.post(opts.loginPagePath, csrf({
cookie: true
}), onLocalLogin, trackLogin, ssoAndRedirectBack);
app.post(opts.signupPagePath, setCampaign, onLocalSignup, onLocalLogin, trackSignup('email'), ssoAndRedirectBack);
app.get(opts.twitterPath, setCampaign, beforeSocialAuth('twitter'));
app.get(opts.facebookPath, setCampaign, beforeSocialAuth('facebook'));
app.get(opts.linkedinPath, setCampaign, beforeSocialAuth('linkedin'));
app.get(opts.twitterCallbackPath, afterSocialAuth('twitter'), trackSignup('twitter'), ssoAndRedirectBack);
app.get(opts.facebookCallbackPath, afterSocialAuth('facebook'), trackSignup('facebook'), ssoAndRedirectBack);
app.get(opts.linkedinCallbackPath, afterSocialAuth('linkedin'), trackSignup('linkedin'), ssoAndRedirectBack);
app.get('/', twitterLastStep.ensureEmail);
app.get(opts.twitterLastStepPath, twitterLastStep.login);
app.post(opts.twitterLastStepPath, csrf({
cookie: true
}), twitterLastStep.submit, twitterLastStep.error);
app.get(opts.logoutPath, denyBadLogoutLinks, logout);
app["delete"](opts.logoutPath, logout);
app.get(opts.afterSignupPagePath, ensureLoggedInOnAfterSignupPage);
app.use(headerLogin, trustTokenLogin, addLocals, onError);
return app;
};
}).call(this);