Los interceptores Axios funcionan muy bien para las http://127.0.0.1:8000 llamadas API locales. Aquí está el código de trabajo.
import axios from 'axios'; const http = axios.create({ baseURL: 'http://127.0.0.1:8000/api/', Headers: {}, }); try { http.interceptors.request.use( (config) => { let data = JSON.parse(localStorage.getItem('cyber-minds')); if (data && data.user_status.token) { config.headers['Authorization'] = 'Token ' + data.user_status.token; } return config; }, (error) => { return Promise.reject(error); } ); } catch (error) { console.log(error); } export default http; Pero después de implementar http://127.0.0.1:8000 en https://mysite-backend.herokuapp.com y reemplazar mi baseURL con https://mysite-backend.herokuapp.com , devuelve invalid token . aquí está el código que devuelve invalid token .
import axios from 'axios'; const http = axios.create({ baseURL: 'https://cyberminds-backend.herokuapp.com/api/', Headers: {}, }); try { http.interceptors.request.use( (config) => { let data = JSON.parse(localStorage.getItem('cyber-minds')); if (data && data.user_status.token) { config.headers['Authorization'] = 'Token ' + data.user_status.token; } return config; }, (error) => { return Promise.reject(error); } ); } catch (error) { console.log(error); } export default http;Aquí hay información de almacenamiento local.
{token: "e3746603ad6c8788b9936118f1fc36289bb20a8d", user: {id: 2,…},…} assetRisk: "Low" cid: 1 cpe: "cpe:2.3:a:oracle:peoplesoft_enterprise:8.22.14" id: 2 name: "" pid: 2 pr: "Windows" token: "e3746603ad6c8788b9936118f1fc36289bb20a8d" user: {id: 2,…} user_status: {loggedIn: true, token: "e3746603ad6c8788b9936118f1fc36289bb20a8d"} vendor: "Oracle" La autenticación está funcionando muy bien. La autorización devuelve invalid token ¿Cómo puedo resolver este problema?