X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=skyquake%2Fframework%2Fcore%2Fmodules%2Fapi%2Fsessions.js;h=2036030d56fb0acff029f2f73cf2beee326bbffe;hb=bb11c05914869028a39a685cf5bf2ec347f299a1;hp=c8a02239c58aeb58297d4e2be7df087ae043fac2;hpb=5a83ca0dc3306b54e1db18b9e05e860fed21324e;p=osm%2FUI.git diff --git a/skyquake/framework/core/modules/api/sessions.js b/skyquake/framework/core/modules/api/sessions.js index c8a02239c..2036030d5 100644 --- a/skyquake/framework/core/modules/api/sessions.js +++ b/skyquake/framework/core/modules/api/sessions.js @@ -1,5 +1,5 @@ /* - * + * * Copyright 2016 RIFT.IO Inc * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -31,6 +31,7 @@ var sessionsAPI = {}; var _ = require('lodash'); var base64 = require('base-64'); var APIVersion = '/v2'; +var configurationAPI = require('./configuration'); function logAndReject(mesg, reject) { res.errorMessage = { @@ -41,8 +42,10 @@ function logAndReject(mesg, reject) { } function logAndRedirectToLogin(mesg, res, req) { + var api_server = req.query['api_server'] || (req.protocol + '://' + configurationAPI.globalConfiguration.get().api_server); + var upload_server = req.protocol + '://' + (configurationAPI.globalConfiguration.get().upload_server || req.hostname); console.log(mesg); - res.render('login.html?api_server=' + req.query['api_server']); + res.redirect('login.html?api_server=' + api_server + '&upload_server=' + upload_server); res.end(); } @@ -104,12 +107,15 @@ sessionsAPI.create = function(req, res) { }); }); - req.session.projectId = (project_list_for_user.length > 0) && project_list_for_user[0]; + req.session.projectId = (project_list_for_user.length > 0) && project_list_for_user.sort() && project_list_for_user[0]; } req.session.authorization = authorization_header_string; req.session.loggedIn = true; - + req.session.userdata = { + username: username, + // project: req.session.projectId + }; var successMsg = 'User =>' + username + ' successfully logged in.'; successMsg += req.session.projectId ? 'Project =>' + req.session.projectId + ' set as default.' : ''; @@ -136,7 +142,7 @@ sessionsAPI.addProjectToSession = function(req, res) { return new Promise(function(resolve, reject) { if (req.session && req.session.loggedIn == true) { req.session.projectId = req.params.projectId; - var successMsg = 'Added project' + projectId + ' to session' + req.sessionID; + var successMsg = 'Added project' + req.session.projectId + ' to session' + req.sessionID; console.log(successMsg); return resolve ({ @@ -153,8 +159,6 @@ sessionsAPI.addProjectToSession = function(req, res) { } sessionsAPI.delete = function(req, res) { - var reqRef = req; - var res = res; var api_server = req.query["api_server"]; var uri = utils.confdPort(api_server); var url = uri + '/api/logout'; @@ -167,7 +171,8 @@ sessionsAPI.delete = function(req, res) { 'Authorization': req.session.authorization }), forever: constants.FOREVER_ON, - rejectUnauthorized: constants.REJECT_UNAUTHORIZED + rejectUnauthorized: constants.REJECT_UNAUTHORIZED, + resolveWithFullResponse: true }), new Promise(function(success, failure) { req.session.destroy(function(err) {