Everyone-s-delivery / Web

모두의 배달 Web Service Repository
https://everyone-s-delivery.com
2 stars 1 forks source link

[feature/security] spring security + jwt token 방식 인증에서 refresh token 추가하기 #82

Open rnjstjdgh opened 2 years ago

rnjstjdgh commented 2 years ago

개선 내용

  1. 로그인(인증)

    • jwt token 주던 것 -> jwt token + refresh token 두개 주는 것으로 수정
    • 유효 기간: jwt 는 짧게 & refresh 는 길게
  2. token 기반 권한 요청(인가)

    • 일반적인 경우: jwt token 만으로 요청 -> 기존 코드 유지하면서 에러 case 만 조금더 세분화

      • jwt 가 만료된 경우 => refresh token 기반으로 재 발행 하면 됨 => 서버는 이를 유도하기 위해 401 error 를 응답
      • jwt 가 없는 경우 => refresh token 기반으로 재 발행 하면 됨 => 서버는 이를 유도하기 위해 401 error 를 응답
      • jwt 가 위 변조 된 경우 => refresh token 기반으로 재 발행 하면 됨 => 서버는 이를 유도하기 위해 401 error 를 응답
    • 직전 요청에 대해 401 응답을 받은 경우 -> refresh token 기반으로 jwt token 을 재 발행

      • refresh token 이 정상인 경우 => jwt token 을 재 발행
      • refresh token 이 비 정상인 경우
        • refresh token이 만료된 경우 => 재 로그인을 통해 jwt token + refresh token 을 다시 발급 받아야 함 => 서버는 이를 유도하기 위해 403 error 응답
        • refresh token이 없는 경우 => 재 로그인을 통해 jwt token + refresh token 을 다시 발급 받아야 함 => 서버는 이를 유도하기 위해 403 error 응답
        • refresh token이 위 변조 된 경우 => 재 로그인을 통해 jwt token + refresh token 을 다시 발급 받아야 함 => 서버는 이를 유도하기 위해 403 error 응답

참고자료