You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
현재 AcessToken 만료에 대한 에러 핸들링 코드 if (data.code === AUTH_ERROR_CODE.EXPIRED_TOKEN) const { accessToken } = await getNewToken();
위 코드는 AccessToken이 만료됨에 따라 Server로부터 받은 자체 에러 코드가 40183(AUTH_ERROR_CODE.EXPIRED_TOKEN)일 경우 RefreshToken을 사용해 새로운 AcessToken을 받아오도록 동작하고 있습니다.
위 코드를 통해 Client 측에서 에러 핸들링을 수행할 때 AcessToken과 RefreshToken 만료에 대한 자체 에러 코드가 동일한 경우 RefreshToken 만료에 대한 에러를 올바르지 않게 핸들링하는 문제가 발생할 것이라 예상됩니다.
AccessToken 만료에 대한 자체 에러 코드(40183)를 받은 경우 RefreshToken을 통해 새로운 AcessToken을 받아오도록 동작
1-1. RefreshToken을 통해 새로운 AccessToken을 받아오는데 성공
1-2. RefreshToken도 만료되어 자체 에러 코드를 받아 올바르게 핸들링 (재로그인 요청)
1-2에서 RefreshToken 만료에 대한 자체 에러 코드 40183을 받을 경우 AccessToken 만료 조건과 동일하여 RefreshToken이 만료가 됐음에도 불구하고 재로그인 요청이 아닌 계속해서 새로운 AccessToken 발급을 요청하는 문제가 발생합니다.
따라서 RefreshToken 만료에 대한 자체 에러 코드를 AccessToken 만료 에러 코드(40183)와 다른 에러 코드를 사용하는 방법을 제안하고자 합니다.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
현재 Client 측에서 axios interceptor를 사용해 Server로부터 받은 reponse의 자체 에러 코드를 통해 에러 핸들링을 수행하고 있습니다.
현재 Server로부터 AccessToken과 RefreshToken 만료에 대한 응답을 확인해 보면 자체 에러 코드가 동일함을 알 수 있습니다.
AcessToken과 RefreshToken 만료에 대한 응답
현재 AcessToken 만료에 대한 에러 핸들링 코드
if (data.code === AUTH_ERROR_CODE.EXPIRED_TOKEN)
const { accessToken } = await getNewToken();
위 코드는 AccessToken이 만료됨에 따라 Server로부터 받은 자체 에러 코드가 40183(AUTH_ERROR_CODE.EXPIRED_TOKEN)일 경우 RefreshToken을 사용해 새로운 AcessToken을 받아오도록 동작하고 있습니다.
위 코드를 통해 Client 측에서 에러 핸들링을 수행할 때 AcessToken과 RefreshToken 만료에 대한 자체 에러 코드가 동일한 경우 RefreshToken 만료에 대한 에러를 올바르지 않게 핸들링하는 문제가 발생할 것이라 예상됩니다.
1-1. RefreshToken을 통해 새로운 AccessToken을 받아오는데 성공
1-2. RefreshToken도 만료되어 자체 에러 코드를 받아 올바르게 핸들링 (재로그인 요청)
1-2에서 RefreshToken 만료에 대한 자체 에러 코드 40183을 받을 경우 AccessToken 만료 조건과 동일하여 RefreshToken이 만료가 됐음에도 불구하고 재로그인 요청이 아닌 계속해서 새로운 AccessToken 발급을 요청하는 문제가 발생합니다.
따라서 RefreshToken 만료에 대한 자체 에러 코드를 AccessToken 만료 에러 코드(40183)와 다른 에러 코드를 사용하는 방법을 제안하고자 합니다.
Beta Was this translation helpful? Give feedback.
All reactions