UNPKG

frontier-client

Version:

A Frontier authentication client for JavaScript applications

22 lines (19 loc) 706 B
var parseCookie = require('cookie').parse; module.exports = SessionHandler; function SessionHandler(application) { return function(req, callback) { var cookies = {}; if(data.headers.cookie) cookies = parseCookie(req.headers.cookie); var sessionKey = cookies[application.sessionCookie] || data.headers[application.sessionHeader]; if(!sessionKey) return callback(new Error('No session submitted in handshake request'), false); application.api.session.details(sessionKey, function(err, details) { if(err) { err.statusCode = 500; return callback(err); } if(!details) return callback(new Error('Invalid session key')); data.user = details; return callback(null); }); } }