diff --git a/src/fireedge/src/server/routes/api/auth/functions.js b/src/fireedge/src/server/routes/api/auth/functions.js index 81c4b85bd6..cef7bffffd 100644 --- a/src/fireedge/src/server/routes/api/auth/functions.js +++ b/src/fireedge/src/server/routes/api/auth/functions.js @@ -84,7 +84,6 @@ const coreAuth = ( oneConnection = defaultEmptyFunction ) => { const { user, token, type, token2fa, remember } = params - setRes(res) setNext(next) setNodeConnect(oneConnection) updaterResponse(new Map(internalServerError).toObject()) @@ -97,6 +96,7 @@ const coreAuth = ( * @param {object} opennebulaUserData - opennebula user data */ const success = (opennebulaUserData) => { + setRes(res) setUser(user || '') setPass(token || '') setType(type || '') @@ -111,6 +111,7 @@ const coreAuth = ( * @param {string} err - error. */ const error = (err) => { + setRes(res) const httpCodeError = err ? internalServerError : unauthorized updaterResponse(new Map(httpCodeError).toObject()) writeInLogger(httpCodeError) @@ -149,17 +150,16 @@ const remoteAuth = ( typeAuth ) => { const { user } = params - setRes(res) setNext(next) setNodeConnect(oneConnection) updaterResponse(new Map(internalServerError).toObject()) if (user) { switch (typeAuth) { case 'x509': - x509Login(user) + x509Login(user, res) break default: - remoteLogin(user) + remoteLogin(user, res) break } } else { diff --git a/src/fireedge/src/server/routes/api/auth/utils.js b/src/fireedge/src/server/routes/api/auth/utils.js index a45f9c534f..ac55bef5fb 100644 --- a/src/fireedge/src/server/routes/api/auth/utils.js +++ b/src/fireedge/src/server/routes/api/auth/utils.js @@ -539,8 +539,9 @@ const getServerAdminAndWrapUser = (userData = {}) => { * Remote login route function. * * @param {string} userData - user remote data user:password + * @param {object} response - http response */ -const remoteLogin = (userData = '') => { +const remoteLogin = (userData = '', response = {}) => { const serverAdminData = getServerAdmin() const { username, token } = serverAdminData const [usr, pss = usr] = userData.split(':') @@ -559,11 +560,14 @@ const remoteLogin = (userData = '') => { data.AUTH_DRIVER === 'public' ) if (userFound) { + setRes(response) setZones() getServerAdminAndWrapUser(userFound) } else { next() } + } else { + next() } }, fillHookResource: false, @@ -575,8 +579,9 @@ const remoteLogin = (userData = '') => { * X.509 login route function. * * @param {string} userData - user remote data /DC=es/O=one/CN=user|/DC=us/O=two/CN=user + * @param {object} response - http response */ -const x509Login = (userData = '') => { +const x509Login = (userData = '', response = {}) => { const serverAdminData = getServerAdmin() const { username, token } = serverAdminData if (username && token && userData) { @@ -597,11 +602,14 @@ const x509Login = (userData = '') => { data.AUTH_DRIVER === 'x509' ) if (userFound) { + setRes(response) setZones() getServerAdminAndWrapUser(userFound) } else { next() } + } else { + next() } }, fillHookResource: false,