diff --git a/src/Admin/Services.js b/src/Admin/Services.js
deleted file mode 100644
index bce02eb72a414c7f04cbbdb8e0acbec383ca2fd6..0000000000000000000000000000000000000000
--- a/src/Admin/Services.js
+++ /dev/null
@@ -1,241 +0,0 @@
-/*Copyright (C) 2019 Centro de Computacao Cientifica e Software Livre
-Departamento de Informatica - Universidade Federal do Parana
-
-This file is part of Plataforma Integrada MEC.
-
-Plataforma Integrada MEC is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-Plataforma Integrada MEC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with Plataforma Integrada MEC.  If not, see <http://www.gnu.org/licenses/>.*/
-
-import axios from 'axios';
-
-export function Delete(api) {
-    return new Promise(resolve => {
-        axios({
-            method: 'delete',
-            url: api,
-            headers: {
-                'Accept': 'application/json',
-                'Content-Type': 'application/json; charset=utf-8',
-                'access-token': sessionStorage.getItem('@portalmec/accessToken'),
-                'client': sessionStorage.getItem('@portalmec/clientToken'),
-                'uid': sessionStorage.getItem('@portalmec/uid'),
-                'If-None-Match': null
-            },
-        }).then(response => {
-            if (response.status === 200) {
-                resolve(true);
-            } else {
-                resolve(false);
-            }
-            SaveNewHeaders(response)
-        }).catch(err =>{
-            resolve(false)
-        })
-    })
-}
-
-export function SendEmail(api, body) {
-    return new Promise(resolve => {
-        axios({
-            method: 'post',
-            url: api,
-            headers: {
-                'Accept': 'application/json',
-                'Content-Type': 'application/json; charset=utf-8',
-                'access-token': sessionStorage.getItem('@portalmec/accessToken'),
-                'client': sessionStorage.getItem('@portalmec/clientToken'),
-                'uid': sessionStorage.getItem('@portalmec/uid'),
-                'If-None-Match': null
-            },
-            data: JSON.stringify(body)
-        }).then(response => {
-            console.log(response)
-            if (response.status === 200) {
-                resolve(true);
-            } else {
-                resolve(false);
-            }
-            SaveNewHeaders(response)
-        }).catch(err =>{
-            resolve(false)
-        })
-    })
-}
-
-export function Edit(api, body) {
-    return new Promise(resolve => {
-        axios({
-            method: 'put',
-            url: api,
-            headers: {
-                'Accept': 'application/json',
-                'Content-Type': 'application/json; charset=utf-8',
-                'access-token': sessionStorage.getItem('@portalmec/accessToken'),
-                'client': sessionStorage.getItem('@portalmec/clientToken'),
-                'uid': sessionStorage.getItem('@portalmec/uid'),
-                'If-None-Match': null
-            },
-            data: JSON.stringify(body)
-        }).then(response => {
-            console.log(response)
-            if (response.status === 200) {
-                resolve(true)
-            } else {
-                resolve(false)
-            }
-            SaveNewHeaders(response)
-        }).catch(err =>{
-            resolve(false)
-        })
-    })
-}
-
-export function Create(api, body) {
-    return new Promise(resolve => {
-        axios({
-            method: 'post',
-            url: api,
-            headers: {
-                'Accept': 'application/json',
-                'Content-Type': 'application/json; charset=utf-8',
-                'access-token': sessionStorage.getItem('@portalmec/accessToken'),
-                'client': sessionStorage.getItem('@portalmec/clientToken'),
-                'uid': sessionStorage.getItem('@portalmec/uid'),
-                'If-None-Match': null
-            },
-            data: JSON.stringify(body)
-        }).then(response => {
-            if (response.status === 201) {
-                resolve(true)
-            } else {
-                resolve(false)
-            }
-            SaveNewHeaders(response)
-        }).catch(err =>{
-            resolve(false)
-        })
-    })
-}
-
-export function HandleComplain(api) {
-    return new Promise(resolve => {
-        axios({
-            method: 'post',
-            url: api,
-            headers: {
-                'Accept': 'application/json',
-                'Content-Type': 'application/json; charset=utf-8',
-                'access-token': sessionStorage.getItem('@portalmec/accessToken'),
-                'client': sessionStorage.getItem('@portalmec/clientToken'),
-                'uid': sessionStorage.getItem('@portalmec/uid'),
-                'If-None-Match': null
-            },
-        }).then(response => {
-            if (response.status === 200) {
-                resolve(true)
-            } else {
-                resolve(false)
-            }
-            SaveNewHeaders(response)
-        }).catch(err =>{
-            resolve(false)
-        })
-    })
-}
-
-export function GetFullList(api, headers) {
-    
-    return new Promise(resolve => {
-        axios({
-            method: 'get',
-            url: api,
-            headers: {
-                'Accept': 'application/json',
-                'Content-Type': 'application/json; charset=utf-8',
-                'access-token': sessionStorage.getItem('@portalmec/accessToken'),
-                'client': sessionStorage.getItem('@portalmec/clientToken'),
-                'uid': sessionStorage.getItem('@portalmec/uid'),
-                'If-None-Match': null
-            },
-        }).then((res) => {
-            console.log(res)
-            if (res.status === 200) {
-                resolve({
-                    state: true,
-                    data: res.data
-                })
-            } else {
-                resolve({
-                    state: false,
-                    data: {}
-                })
-            }
-            SaveNewHeaders(res)
-        }).catch((err) => {
-            resolve({
-                state: false,
-                data: {}
-            })
-        })
-    }, []);
-} 
-
-export function GetSpecificData(api, headers) {
-    return new Promise(resolve => {
-        axios({
-            method: 'get',
-            url: api,
-            headers: {
-                'Accept': 'application/json',
-                'Content-Type': 'application/json; charset=utf-8',
-                'access-token': sessionStorage.getItem('@portalmec/accessToken'),
-                'client': sessionStorage.getItem('@portalmec/clientToken'),
-                'uid': sessionStorage.getItem('@portalmec/uid'),
-                'If-None-Match': null
-            },
-        }).then((res) => {
-            console.log(res)
-            if (res.status === 200) {
-                resolve({
-                    state: true,
-                    data: res.data
-                })
-            } else {
-                resolve({
-                    state: false,
-                    data: {}
-                })
-            }
-            SaveNewHeaders(res)
-        }).catch((err) => {
-            resolve({
-                state: false,
-                data: {}
-            })
-        })
-    }, []);
-}
-
-const SaveNewHeaders = (response) => {
-    if (
-        (response.headers['access-token'] === undefined || response.headers['access-token'] === null) &&
-        (response.headers.client === undefined || response.headers.client === null)
-    ) {
-
-    } else {
-        sessionStorage.setItem('@portalmec/accessToken', response.headers['access-token'])
-        sessionStorage.setItem('@portalmec/clientToken', response.headers.client)
-        console.log('saved')
-    }
-}
-
diff --git a/src/Components/Header.js b/src/Components/Header.js
index 57cc42f248418e141996fa0023bb6793938441a2..54e02feaa381434678d74c13bb418de8fa126924 100644
--- a/src/Components/Header.js
+++ b/src/Components/Header.js
@@ -54,7 +54,7 @@ export default function Header(props) {
   }
 
   useEffect(() => {
-    if (sessionStorage.getItem('@portalmec/auth_headers')) {
+    if (localStorage.getItem('@portalmec/auth_headers')) {
       const url = `/auth/validate_token/`
       getRequest(url, handleSuccessValidateToken, (error) => { console.log(error) })
     }
diff --git a/src/Components/HelperFunctions/getAxiosConfig.js b/src/Components/HelperFunctions/getAxiosConfig.js
index 6d5dc1525c5a04171ab8b2079f81df1e7319855d..0edd58872210005aad1996a75d85241d09684424 100644
--- a/src/Components/HelperFunctions/getAxiosConfig.js
+++ b/src/Components/HelperFunctions/getAxiosConfig.js
@@ -2,16 +2,16 @@ import {apiUrl} from '../../env.js'
 
 export function getAxiosConfigFromJSON () {
     let config = {
-        headers : JSON.parse(sessionStorage.getItem('@portalmec/auth_headers'))
+        headers : JSON.parse(localStorage.getItem('@portalmec/auth_headers'))
     }
     return config
 }
 
 export function updateHeaders (newHeaders) {
 
-    sessionStorage.setItem('@portalmec/accessToken', newHeaders['access-token'])
+    localStorage.setItem('@portalmec/accessToken', newHeaders['access-token'])
 
-    let auth_headers = JSON.parse(sessionStorage.getItem('@portalmec/auth_headers'))
+    let auth_headers = JSON.parse(localStorage.getItem('@portalmec/auth_headers'))
     /*const auth_headers = {
         client: newHeaders.get('client'),
         "access-token": newHeaders.get('access-token'),
@@ -20,7 +20,7 @@ export function updateHeaders (newHeaders) {
         "token-type": "Bearer"
     }
 
-    sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))*/
+    localStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))*/
     if (auth_headers) {
         auth_headers['access-token'] = newHeaders['access-token']
     }
@@ -33,11 +33,11 @@ export function updateHeaders (newHeaders) {
             "token-type": "Bearer"
         }
     }
-    sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
+    localStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
 }
 
 function fetchHeaders () {
-    let auth_headers = JSON.parse(sessionStorage.getItem('@portalmec/auth_headers'))
+    let auth_headers = JSON.parse(localStorage.getItem('@portalmec/auth_headers'))
 
     var myHeaders = undefined
     if (auth_headers) {
@@ -58,12 +58,12 @@ function fetchHeaders () {
 
 function checkPreviousTokens (new_token) {
 
-    let prev_tokens = JSON.parse(sessionStorage.getItem('@portalmec/tokens'))
+    let prev_tokens = JSON.parse(localStorage.getItem('@portalmec/tokens'))
 
     if (prev_tokens) {
         if (!prev_tokens.hasOwnProperty(new_token)) {
             prev_tokens[new_token] = 1
-            sessionStorage.setItem('@portalmec/tokens', JSON.stringify(prev_tokens))
+            localStorage.setItem('@portalmec/tokens', JSON.stringify(prev_tokens))
             return true
         }
         else {
@@ -73,7 +73,7 @@ function checkPreviousTokens (new_token) {
     else {
         let tokens = {}
         tokens[new_token] = 1
-        sessionStorage.setItem('@portalmec/tokens', JSON.stringify(tokens))
+        localStorage.setItem('@portalmec/tokens', JSON.stringify(tokens))
         return true
     }
 
@@ -83,15 +83,15 @@ function updateAccessToken (newAccessToken) {
 
     if (checkPreviousTokens(newAccessToken)) {
 
-        sessionStorage.setItem('@portalmec/accessToken', newAccessToken)
+        localStorage.setItem('@portalmec/accessToken', newAccessToken)
 
-        let auth_headers = JSON.parse(sessionStorage.getItem('@portalmec/auth_headers'))
+        let auth_headers = JSON.parse(localStorage.getItem('@portalmec/auth_headers'))
 
         if (auth_headers) {
             auth_headers['access-token'] = newAccessToken
         }
 
-        sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
+        localStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
     }
 }
 
@@ -263,7 +263,7 @@ export const validateGoogleLoginToken = (url, config, onSuccess, onError) => {
                 "token-type": "Bearer"
             }
 
-            sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
+            localStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
 
             return response.json().catch(err => {
                 return {};
@@ -297,7 +297,7 @@ export async function authentication (url, payload, onSuccess, onError) {
             "token-type": "Bearer"
         }
 
-        sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
+        localStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
 
         let json = await response.json().catch(err => {
             return {};
@@ -317,7 +317,7 @@ export async function authentication (url, payload, onSuccess, onError) {
         //         "token-type": "Bearer"
         //     }
         //
-        //     sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
+        //     localStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
         //
         //     return response.json().catch(err => {
         //         return {};
diff --git a/src/Components/UploadPageComponents/FileToUpload.ts b/src/Components/UploadPageComponents/FileToUpload.ts
index fddbf404078bdb1eed4d04a666955d63ccdbac87..60b6ecb0435943d67b7eae390c06aefa47f167b7 100644
--- a/src/Components/UploadPageComponents/FileToUpload.ts
+++ b/src/Components/UploadPageComponents/FileToUpload.ts
@@ -34,7 +34,7 @@ export default class FileToUpload {
             if(this.readyState === XMLHttpRequest.DONE){
                 if (this.getResponseHeader('access-token') != null) {
                     console.log(this.getResponseHeader('access-token'))
-                    sessionStorage.setItem('@portalmec/accessToken', this.getResponseHeader('access-token')!)
+                    localStorage.setItem('@portalmec/accessToken', this.getResponseHeader('access-token')!)
                 }
             }
         }
@@ -58,14 +58,14 @@ export default class FileToUpload {
 
         //set necessary headers
         this.request.setRequestHeader('Content-Range', `bytes ${this.currentChunkStartByte}-${this.currentChunkFinalByte}/${this.file.size}`);
-        if (sessionStorage.getItem('@portalmec/uid') != undefined) {
-            this.request.setRequestHeader('uid', sessionStorage.getItem('@portalmec/uid')!)
+        if (localStorage.getItem('@portalmec/uid') != undefined) {
+            this.request.setRequestHeader('uid', localStorage.getItem('@portalmec/uid')!)
         }
-        if (sessionStorage.getItem('@portalmec/clientToken') != undefined) {
-            this.request.setRequestHeader('client', String(sessionStorage.getItem('@portalmec/clientToken')))
+        if (localStorage.getItem('@portalmec/clientToken') != undefined) {
+            this.request.setRequestHeader('client', String(localStorage.getItem('@portalmec/clientToken')))
         }
-        if (sessionStorage.getItem('@portalmec/accessToken') != undefined) {
-            this.request.setRequestHeader('access-token', String(sessionStorage.getItem('@portalmec/accessToken')))
+        if (localStorage.getItem('@portalmec/accessToken') != undefined) {
+            this.request.setRequestHeader('access-token', String(localStorage.getItem('@portalmec/accessToken')))
         }
 
         this.request.onload = () => {
diff --git a/src/Pages/EditProfilePage.js b/src/Pages/EditProfilePage.js
index 0cf1e91667ca942dca98460c73cb6223519de77c..f85c888d5bc7624c7988c6f76119554ba0c5da05 100644
--- a/src/Pages/EditProfilePage.js
+++ b/src/Pages/EditProfilePage.js
@@ -59,11 +59,11 @@ export default function EditProfilePage(props) {
     }
 
     function handleSuccessUpdateEmail(data) {
-        let auth_headers = JSON.parse(sessionStorage.getItem('@portalmec/auth_headers'))
+        let auth_headers = JSON.parse(localStorage.getItem('@portalmec/auth_headers'))
 
         auth_headers['uid'] = data.uid
 
-        sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
+        localStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers))
 
         const target = state.currentUser
         const source = { uid: data.uid }
diff --git a/src/Store.js b/src/Store.js
index 2cf8d373cb9b4f3f88c18bfd71199b893af0886d..0cb5c0333ff49866a8125e8eb30e88582a815db9 100644
--- a/src/Store.js
+++ b/src/Store.js
@@ -91,7 +91,7 @@ function reducer(state, action) {
           currentUser:action.user
     }
     case 'USER_LOGGED_OUT':
-        sessionStorage.clear()
+        localStorage.clear()
         return {
             ...state,
             userIsLoggedIn:action.userLoggedOut,