Estoy pasando mis tokens al almacenamiento local y me gustaría recuperarlos y autorizar si el usuario puede ingresar a la página o si está prohibido al cargar una nueva página. El caso es que no sé cómo recuperar el token, escuché que sería necesario pasarlo/recibirlo a través de los encabezados, pero no sé cómo se hace ese proceso. Gracias de antemano por su ayuda :) Este es mi código para pasar el token al almacenamiento local:
function login(e){ e.preventDefault(); let username = document.getElementById('username').value; let password = document.getElementById('password').value; var details = { 'username': username, 'password': password, }; var formBody = []; for (var property in details) { var encodedKey = encodeURIComponent(property); var encodedValue = encodeURIComponent(details[property]); formBody.push(encodedKey + "=" + encodedValue); } formBody = formBody.join("&"); fetch('http://localhost:8080/login', { method: "POST", headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}, body: formBody }) .then((res) => { if(res.status == '200'){ return res.json(); }else{ alert("Incorrect login information") } }) .then((data) => { let jwt = data.access_token let jwtData = jwt.split('.')[1] let decodedJwtJsonData = window.atob(jwtData) let decodedJwtData = JSON.parse(decodedJwtJsonData) let role = decodedJwtData.roles if(role == "ADMIN"){ window.localStorage.setItem('access_token', data.access_token); window.localStorage.setItem('refresh_token', data.refresh_token); // Here would go the call to another site. } if(role == "MODERATOR"){ window.localStorage.setItem('access_token', data.access_token); window.localStorage.setItem('refresh_token', data.refresh_token); location.href = "moderatorHomepage.html"; } window.localStorage.setItem('access_token', data.access_token); window.localStorage.setItem('refresh_token', data.refresh_token); if(role == "CUSTOMER"){ location.href = "homepage.html"; } }) .catch(err =>{ console.error(err.message); })