Javascript/NestJS

Login Process

nickmorohe 2022. 12. 5. 11:15

 

 

1.  사용자가 로그인

 

2.  서버에서 사용자가 입력한 ID, PW를 회원 DB에서 값을 비교(Authorization)

 

3.  로그인이 완료되면 accessToken(JWT), refreshToken(JWT) 발급

  • accessToken : 해당 데이터 payload를 통해 전달
  • refreshToken : 쿠키를 통해 전달

4.  만료된 accessToken을 첨부하여 요청을 보냄

 

5.  서버가 인가를 해보면서 토큰이 만료되었음을 확인하고 에러를 반환

  • accessToken 만료가 되어 인가시 에러가 반환되면 refreshToken으로 accessToken을 재발급 받는 API를 프론트에서 요청
  •  

6.  토큰이 만료되었음을 확인하고 토큰 재발급 요청(restoreAccessToken)를 쿠키와 함께 요청

  • restoreAccessToken API를 통해 새로운 토큰 재발급이 가능하기에 사용자가 로그인을 다시 해야하는 불편함을 해소 
  • 따라서, refreshToken이 만료되었을 때만 사용자가 재로그인

 

7. 쿠키에 refreshToken을 확인해(인가) 새로운 accessToken을 발급해서 반환

 

8. 재발급된 토큰과 함께 실패한 요청에 대해 재요청 

 

9. 정상적으로 요청에 대한 값을 반환