Skip to content

Instantly share code, notes, and snippets.

@karlwestin
Created October 19, 2015 10:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save karlwestin/1618084ad68f95fb1a20 to your computer and use it in GitHub Desktop.
Save karlwestin/1618084ad68f95fb1a20 to your computer and use it in GitHub Desktop.
Modify kazana-account to return AuthSession
// https://github.com/eHealthAfrica/kazana-account
// this file is found in lib/utils
module.exports = addBearerToken;
var Wreck = require('wreck');
var _ = require('lodash');
var cookieToToken = require('./cookie-to-token');
var addUserIdAndAgency = require('./add-user-id');
var loadUserDocProperties = require('./load-user-doc-properties');
function addBearerToken (error, response, request, reply) {
var server = request.connection.server;
if (error) return reply(error).code(500);
Wreck.read(response, {
json: 'force'
}, function (error, data) {
if (error) return reply(error).code(500);
if (Array.isArray(response.headers['set-cookie'])) {
data.bearerToken = cookieToToken(response.headers['set-cookie']);
}
if (response.statusCode >= 300) {
return reply(data).code(response.statusCode);
}
data = addUserIdAndAgency(data);
loadUserDocProperties(server, data.name, function (error, properties) {
if (error) return reply(error).code(500);
_.merge(data, properties);
reply(data)
.code(response.statusCode)
.header('set-cookie', response.headers['set-cookie'])
});
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment