From d6c655c37f7059c755b771c644f6562f654a852f Mon Sep 17 00:00:00 2001 From: bum12ark Date: Tue, 1 Mar 2022 15:34:24 +0900 Subject: [PATCH] =?UTF-8?q?feat(owner-vue):=20url=20=EB=A7=A4=ED=95=91=20?= =?UTF-8?q?=EB=B0=8F=20interceptor=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - access token url 매핑 부분 변경 - interceptor router exception 에러 해결 --- owner-vue/src/api/auth.js | 2 +- owner-vue/src/api/user.js | 2 -- owner-vue/src/main.js | 37 +++++++++++++++++-------------------- 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/owner-vue/src/api/auth.js b/owner-vue/src/api/auth.js index 32b2ef9..87c772b 100644 --- a/owner-vue/src/api/auth.js +++ b/owner-vue/src/api/auth.js @@ -21,6 +21,6 @@ export default { requestCheckAccessToken() { 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"); } } \ No newline at end of file diff --git a/owner-vue/src/api/user.js b/owner-vue/src/api/user.js index 9a694ee..622da40 100644 --- a/owner-vue/src/api/user.js +++ b/owner-vue/src/api/user.js @@ -23,8 +23,6 @@ export default { return true; } catch (err) { console.log("Error = ", err); - alert("로그인 실패!"); - return false; } diff --git a/owner-vue/src/main.js b/owner-vue/src/main.js index d630ed4..a459994 100644 --- a/owner-vue/src/main.js +++ b/owner-vue/src/main.js @@ -3,7 +3,7 @@ import App from './App.vue'; import vuetify from './plugins/vuetify'; import router from './router'; import axios from "axios"; -import auth from "./api/auth.js" +import auth from "./api/auth.js"; axios.defaults.withCredentials = true; @@ -20,26 +20,23 @@ axios.interceptors.response.use( return response; }, async (error) => { - try { - const originalRequest = error.config; - if (error.response.status === 401) { - // access token 만료 시 - if (error.response.data.code == "EXPIRED") { - const accessToken = await auth.requestReissue(); - - originalRequest.headers.Authorization = "Bearer " + accessToken; - return axios(originalRequest); - } - // 그외 에러일 시 - alert("로그인 정보가 일치하지 않습니다."); - await router.replace('/login'); - return; + const originalRequest = error.config; + if (error.response.status === 401) { + let code = error.response.data.code; + if (code === "EXPIRED") { + console.log("## expired"); + try { + const accessToken = await auth.requestReissue(); + originalRequest.headers.Authorization = "Bearer " + accessToken; + return axios(originalRequest); + } catch (reissueError) { + window.location.href = "http://localhost:8080"; + alert("권한이 없습니다. 다시 로그인 해주세요"); } - } catch (error) { - alert("로그인 정보가 일치하지 않습니다."); - await router.replace('/login'); - return; - } + } + window.location.href = "http://localhost:8080"; + alert("권한이 없습니다. 다시 로그인해주세요."); + } return Promise.reject(error); } ); \ No newline at end of file