From fce31ebfe5c0a0b9270f8bdd9b120968d3ee4fa8 Mon Sep 17 00:00:00 2001 From: Lucas Schoenfelder <les17@inf.ufpr.br> Date: Wed, 3 Feb 2021 10:07:24 -0300 Subject: [PATCH] final version done --- .../HelperFunctions/getAxiosConfig.js | 60 +++++++++++++++---- 1 file changed, 48 insertions(+), 12 deletions(-) diff --git a/src/Components/HelperFunctions/getAxiosConfig.js b/src/Components/HelperFunctions/getAxiosConfig.js index cc75bd2f..84b1682f 100644 --- a/src/Components/HelperFunctions/getAxiosConfig.js +++ b/src/Components/HelperFunctions/getAxiosConfig.js @@ -22,25 +22,56 @@ export function getAxiosConfigFromJSON () { return config } -export function updateHeaders (newHeaders) { - sessionStorage.setItem('@portalmec/accessToken', newHeaders['access-token']) +function checkPreviousTokens (new_token) { - let auth_headers = JSON.parse(sessionStorage.getItem('@portalmec/auth_headers')) + let prev_tokens = JSON.parse(sessionStorage.getItem('@portalmec/tokens')) - if (auth_headers) { - auth_headers['access-token'] = newHeaders['access-token'] + if (prev_tokens) { + console.log('hasOwnProperty = ', prev_tokens.hasOwnProperty(new_token)) + if (!prev_tokens.hasOwnProperty(new_token)) { + prev_tokens[new_token] = 1 + console.log('adicionando token', new_token, ' a hash') + sessionStorage.setItem('@portalmec/tokens', JSON.stringify(prev_tokens)) + return true + } + else { + return false + } } else { - auth_headers = { - client: newHeaders.client, - "access-token": newHeaders['access-token'], - uid: newHeaders.uid, - expiry: newHeaders.expiry, - "token-type": "Bearer" + let tokens = {} + tokens[new_token] = 1 + console.log('adicionando token', new_token, ' a hash') + sessionStorage.setItem('@portalmec/tokens', JSON.stringify(tokens)) + return true + } + +} + +export function updateHeaders (newHeaders) { + + if (checkPreviousTokens(newHeaders['access-token'])) { + + sessionStorage.setItem('@portalmec/accessToken', newHeaders['access-token']) + + let auth_headers = JSON.parse(sessionStorage.getItem('@portalmec/auth_headers')) + + if (auth_headers) { + auth_headers['access-token'] = newHeaders['access-token'] } + else { + auth_headers = { + client: newHeaders.client, + "access-token": newHeaders['access-token'], + uid: newHeaders.uid, + expiry: newHeaders.expiry, + "token-type": "Bearer" + } + } + + sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers)) } - sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers)) } export const axiosGetRequest = (url, onSuccess, onError) => { @@ -50,6 +81,7 @@ export const axiosGetRequest = (url, onSuccess, onError) => { (response) => { if ( response.headers['access-token'] && response.status !== 304) { + console.log('filtered = ', response) updateHeaders(response.headers) } @@ -68,6 +100,7 @@ export const axiosDeleteRequest = (url, onSuccess, onError) => { (response) => { if ( response.headers['access-token'] && response.status !== 304) { + console.log('filtered = ', response) updateHeaders(response.headers) } @@ -86,6 +119,7 @@ export const axiosPutRequest = (url, payload, onSuccess, onError) => { (response) => { if ( response.headers['access-token'] && response.status !== 304) { + console.log('filtered = ', response) updateHeaders(response.headers) } @@ -104,6 +138,7 @@ export const axiosPostRequest = (url, payload, onSuccess, onError) => { (response) => { if ( response.headers['access-token'] && response.status !== 304) { + console.log('filtered = ', response) updateHeaders(response.headers) } @@ -131,6 +166,7 @@ export const axiosAllRequest = (urls, onSuccess, onError) => { (responseArray) => { var aux = responseArray.filter(filterFunction) if (aux[0]) { + console.log('filtered = ', aux) updateHeaders(aux[0].headers) } -- GitLab