artsy-passport
Version:
Wires up the common auth handlers for Artsy's [Ezel](ezeljs.com)-based apps using [passport](http://passportjs.org/).
43 lines (35 loc) • 1.19 kB
JavaScript
// Generated by CoffeeScript 1.11.1
(function() {
var _, async, opts, request;
_ = require('underscore');
opts = require('../options');
request = require('superagent');
async = require('async');
module.exports.serialize = function(user, done) {
return async.parallel([
function(cb) {
return request.get(opts.ARTSY_URL + "/api/v1/me").set({
'X-Access-Token': user.get('accessToken')
}).end(cb);
}, function(cb) {
return request.get(opts.ARTSY_URL + "/api/v1/me/authentications").set({
'X-Access-Token': user.get('accessToken')
}).end(cb);
}
], function(err, results) {
var authsData, keys, ref, ref1, userData;
if (err) {
return done(err);
}
(ref = results[0], userData = ref.body), (ref1 = results[1], authsData = ref1.body);
user.set(userData).set({
authentications: authsData
});
keys = ['accessToken', 'authentications'].concat(opts.userKeys);
return done(null, user.pick(keys));
});
};
module.exports.deserialize = function(userData, done) {
return done(null, new opts.CurrentUser(userData));
};
}).call(this);