๋น๋ฐ๋ฒํธ ํ๋ฆฌ๊ฒ ์
๋ ฅํ์ ๋, ๋ก๊ทธ์ธ์ฐฝ์ Login failure ๋ผ๋ ๋จ์ด๊ฐ ๋จ์ง ์์ต๋๋ค.
์ง์ ์ฝ๋ ๋ฐ๋ผ์ ์์ฑํ๋ฉด์ (๊ฐ์ฌ๋์ด ๋ง๋ค์ด๋์ ๋ธ๋์น ์ฒดํฌ์์ํด์ ์ค์ตํ์ง ์๊ณ ) ๊ฐ์ ์งํํ์ ๋ถ๋ค์ api/index.js ํ์ผ์ if (status === UNAUTHORIZED) return onUnauthorized() ๋ก ๋์ด ์์ํ
๋ฐ, return ์ ์ ๊ฑฐํด์ผํฉ๋๋ค. ์๋ ์๋๋๋ก๋ผ๋ฉด, ์๋ฒ์์ 401์ ๋ฑ์ผ๋ฉด api/index.js ์ axios ์ฌ์ฉํ๋ catch ๋ธ๋ก์์ {"error":"Login failure"} ๋ฅผ ๋ด์ ์์ธ๋ฅผ ๋์ ธ์ค์ผ ํ๋๋ฐ, return onUnauthorized() ์คํ์ผ๋ก ์๋ฌ์ค๋ธ์ ํธ ์ ๋ฌํ๋ ๋ถ๋ถ์ด ์คํ๋์ง ์์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ์๋ฒ์์ 401 ์ ๋ฐํ๋ฐ์ ๊ฒฝ์ฐ์ผ์ง๋ผ๋, Login.vue ์ปดํฌ๋ํธ onSubmit ๋ฉ์๋์์๋ .then() ์ผ๋ก ๊ฐ์ ์ฒ๋ฆฌ๊ฐ ๋๊ณ , return onUnauthorized() ์คํ ๊ฒฐ๊ณผ์๋ accessToken ๊ฐ์ด ์๋ ์ํ์ด๋ฏ๋ก ์ฌ๊ธฐ์ 1์ฐจ์ ์ผ๋ก ์์ธ๊ฐ ๋ฐ์ํ์ฌ "Cannot read property 'accessToken' of undefined" ๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค. ์ด ์์ธ๋ก ์ธํด .catch() ๋ก ๊ฐ๊ฒ ๋๊ณ , ์ฌ๊ธฐ์๋ data.error ๊ฐ ์์ผ๋๊น"Cannot read property 'error' of undefined" ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ , ๋ก๊ทธ์ธ ์คํจ์์ ํ๋ฉด์ ์ถ๋ ฅํ๋ ค๋ ๋นจ๊ฐ ๋ฌธ๊ตฌ๋ ๋์ค์ง ์๊ฒ ๋ฉ๋๋ค. ํน์๋ ์ ๊ฐ์ ๋ถ์ด ๋ ์์๊น ์ถ์ด์ ๋จ๊ฒจ๋ก๋๋ค ์ฐธ๊ณ ํ์ธ์