UNPKG

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
// 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);