artsy-passport
Version:
Wires up the common auth handlers for Artsy's [Ezel](ezeljs.com)-based apps using [passport](http://passportjs.org/).
39 lines (31 loc) • 960 B
JavaScript
// Generated by CoffeeScript 1.11.1
(function() {
var opts, parse, redirectBack, request;
request = require('superagent');
opts = require('../options');
parse = require('url').parse;
redirectBack = require('./redirectback');
this.denyBadLogoutLinks = function(req, res, next) {
if (parse(req.get('Referrer')).hostname.match('artsy.net')) {
return next();
} else {
return next(new Error("Malicious logout link."));
}
};
this.logout = function(req, res, next) {
var accessToken, ref;
accessToken = (ref = req.user) != null ? ref.get('accessToken') : void 0;
req.logout();
return request.del(opts.ARTSY_URL + "/api/v1/access_token").set({
'X-Access-Token': accessToken
}).end(function(error, response) {
if (req.xhr) {
return res.status(200).send({
msg: 'success'
});
} else {
return redirectBack(req, res);
}
});
};
}).call(this);