TEAM-MODDY / moddy-server

지출 없이 예쁜 머리, 쉬운 헤어모델 연결플랫폼 moddy 💇🏻‍♀️
https://www.moddy.kr
6 stars 0 forks source link

#210 [feat] 토큰 갱신 api 구현 #232

Closed KWY0218 closed 8 months ago

KWY0218 commented 8 months ago

관련 이슈번호

해결하는 데 얼마나 걸렸나요? (예상 작업 시간 / 실제 작업 시간)

해결하려는 문제가 무엇인가요?

어떻게 해결했나요?

토큰 갱신 흐름

로그인

  1. access token, refresh token 발급 후 클라한테 전달
  2. redis 내에 userId(key) 로 refresh token(value)를 저장

토큰 만료 시 (refresh 토큰 호출)

  1. 클라이언트가 Body 값으로 [ access , refresh ] 같이 넣어서 보낸다.
  2. 우선 access token을 디코딩해서 userId를 반환 받는다.
  3. redis에 저장된 refresh 토큰과 body 값으로 온 refresh 토큰을 비교해서 일치하는 지 확인한다.
  4. 일치한다면 refresh 토큰이 유효기간을 지났는 지 확인한다.
  5. 유효기간이 지나지 않았으면 새로운 [access , refresh] 발급 후 반환하며
  6. 새로운 refresh 토큰을 redis에 저장한다.

로그아웃, 탈퇴

  1. header로 온 access token을 디코딩 한 후 userId를 추출한다.
  2. userId와 매핑된 refresh token을 제거한다.