async refreshToken({commit}) {
//const token = localStorage.getItem('token');
console.log(this.state.auth.refresh_id);
var resp = await axios({
url: "xxx xxx xxxx",
data: {
Refresh_id: this.state.auth.refresh_id,
ClientName: "MainProject",
},
method: "POST",
});
const token = resp.data.access_token;
const user = resp.data.UserId;
const roles = resp.data.UserRoles;
const refresh_id = resp.data.refresh_id;
localStorage.setItem("token", token);
localStorage.setItem("role", roles);
localStorage.setItem("refresh_id", refresh_id);
axios.defaults.headers.common["Authorization"] = `Bearer ${token}`;
commit("auth_success", {
token: token,
user: user,
roles: roles,
refresh_id: refresh_id,
});
console.log('refTok',resp)
return await resp;
},
// Set config defaults when creating the instance
const instance = axios.create({
baseURL: 'https://api.example.com'
});
// Alter defaults after instance has been created
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;export default function axiosSetUp() {
// alert('sss')
// point to your API endpoint
//axios.defaults.baseURL = "<http://127.0.0.1:8000/api/>";
// Add a request interceptor
axios.interceptors.request.use(
function(config) {
const token = store.state.auth.token;
// Do something before request is sent
// const token = store.state.auth.token;
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
},
function(error) {
// Do something with request error
return Promise.reject(error);
}
);
// Add a response interceptor
axios.interceptors.response.use(
function(response) {
//await store.dispatch("refreshToken");
// Any status code that lie within the range of 2xx cause this function to trigger
// Do something with response data
return response;
},
async function(error) {
// Any status codes that falls outside the range of 2xx cause this function to trigger
// Do something with response error
const originalRequest = error.config;
if (
error.response.status === 401 &&
originalRequest.url.includes("auth/jwt/refresh/")
) {
//store.commit("clearUserData");
router.push("/login");
return Promise.reject(error);
} else if (error.response.status === 401 && !originalRequest._retry) {
originalRequest._retry = true;
await store.dispatch("refreshToken");
return axios(originalRequest);
}
return Promise.reject(error);
}
);
//store.dispatch("refreshToken")
}