feat(owner-vue): url 매핑 및 interceptor 변경

- access token url 매핑 부분 변경
- interceptor router exception 에러 해결
This commit is contained in:
bum12ark
2022-03-01 15:34:24 +09:00
parent 5f46d73a22
commit d6c655c37f
3 changed files with 18 additions and 23 deletions

View File

@@ -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");
} }
} }

View File

@@ -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;
} }

View File

@@ -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);
} }
); );