현재 refresh-token의 유효기간은 2주로 설정 했습니다.
아래 그림의 빨간 부분을 추가했습니다.
만료된 access-token을 포함해 api 요청을 보내면 JwtAuthenticationFilter에서 다음과 같이 응답을 내립니다.
위 에러를 응답 받으면 프론트엔드에서 AccessToken 재발급 요청을 위해 다음 url로 요청을 보냅니다. /api/v1/users/refresh
access-token, refresh-token을 request-body로 함께 보냅니다.
이 때 header에 accessToken은 포함하지 않고 요청을 보냅니다.
POST <http://3.39.184.232:8080/api/v1/users/refresh>
{
"accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJ0ZW53b25tb2EiLCJleHAiOjE2NTk2Mzg1NDMsImlhdCI6MTY1OTYzODUzNywidXNlcklkIjoxLCJlbWFpbCI6InRlc3RAdGVzdC5jb20ifQ.XRui_soHnM79E30BndcBZ1kSAsrtFh5cvUSiAFhsi7uN-lL6gdzqSInVb-X7kLmZXeB9SR-XjAt1mz-wG--LPA",
"refreshToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJ0ZW53b25tb2EiLCJleHAiOjE2NTk2Mzg1NDcsImlhdCI6MTY1OTYzODUzNywiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIn0._B-bqLrbZFqtHX2YGGLp4N87bWs5tlhngeDcB8DQN43z7jmzujC-scCZ5jd0ojdTWZI0mT9vONAMQViVgqWIVw"
}
아직 refresh-token의 유효기간이 지나지 않았다면, 아래와 같이 새로운 access-token을 발급해줍니다.
만약 refresh-token 도 유효기간이 지났다면, 다음과 같이 에러를 응답합니다.
이때는 새로 로그인을 진행해줘야합니다. (로그인 쪽으로 페이지를 옮겨주셔야 합니다.)