feat(owner-vue): url 매핑 및 interceptor 변경
- access token url 매핑 부분 변경 - interceptor router exception 에러 해결
This commit is contained in:
@@ -21,6 +21,6 @@ export default {
|
|||||||
requestCheckAccessToken() {
|
requestCheckAccessToken() {
|
||||||
axios.defaults.headers.common['Authorization'] = "Bearer " + jwt.getToken();
|
axios.defaults.headers.common['Authorization'] = "Bearer " + jwt.getToken();
|
||||||
|
|
||||||
return axios.get("http://localhost:8001/user-service/auth/check/accessToken");
|
return axios.get("http://localhost:8001/user-service/auth/check/access-token");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -23,8 +23,6 @@ export default {
|
|||||||
return true;
|
return true;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log("Error = ", err);
|
console.log("Error = ", err);
|
||||||
alert("로그인 실패!");
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import App from './App.vue';
|
|||||||
import vuetify from './plugins/vuetify';
|
import vuetify from './plugins/vuetify';
|
||||||
import router from './router';
|
import router from './router';
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import auth from "./api/auth.js"
|
import auth from "./api/auth.js";
|
||||||
|
|
||||||
axios.defaults.withCredentials = true;
|
axios.defaults.withCredentials = true;
|
||||||
|
|
||||||
@@ -20,26 +20,23 @@ axios.interceptors.response.use(
|
|||||||
return response;
|
return response;
|
||||||
},
|
},
|
||||||
async (error) => {
|
async (error) => {
|
||||||
try {
|
const originalRequest = error.config;
|
||||||
const originalRequest = error.config;
|
if (error.response.status === 401) {
|
||||||
if (error.response.status === 401) {
|
let code = error.response.data.code;
|
||||||
// access token 만료 시
|
if (code === "EXPIRED") {
|
||||||
if (error.response.data.code == "EXPIRED") {
|
console.log("## expired");
|
||||||
const accessToken = await auth.requestReissue();
|
try {
|
||||||
|
const accessToken = await auth.requestReissue();
|
||||||
originalRequest.headers.Authorization = "Bearer " + accessToken;
|
originalRequest.headers.Authorization = "Bearer " + accessToken;
|
||||||
return axios(originalRequest);
|
return axios(originalRequest);
|
||||||
}
|
} catch (reissueError) {
|
||||||
// 그외 에러일 시
|
window.location.href = "http://localhost:8080";
|
||||||
alert("로그인 정보가 일치하지 않습니다.");
|
alert("권한이 없습니다. 다시 로그인 해주세요");
|
||||||
await router.replace('/login');
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
} catch (error) {
|
}
|
||||||
alert("로그인 정보가 일치하지 않습니다.");
|
window.location.href = "http://localhost:8080";
|
||||||
await router.replace('/login');
|
alert("권한이 없습니다. 다시 로그인해주세요.");
|
||||||
return;
|
}
|
||||||
}
|
|
||||||
return Promise.reject(error);
|
return Promise.reject(error);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
Reference in New Issue
Block a user