본문 바로가기
TIL

내일배움캠프 7주차 Spring Refresh Token

by 율량동박씨 2024. 5. 31.

오늘의 키워드

  • Refresh Token

오늘의 내용

  • Refresh Token
    • 사용자의 인증을 위한 토큰이 아니라 새로운 Access 토큰을 생성하는 용도로 사용된다
    • 인증은 access토큰이 담당하지만 시간이 만료되면 refresh토큰으로 다시 access토큰을 생성해 준다
    • 토큰은 만료시간을 두는데 이유는 토큰이 유출되게 되면 사용자의 정보가 탈취당하기 때문에 만료시간을 주어 시간이 만료되면 아무 의미 없는 문자열이 되기 때문이다
    • access토큰은 보안 때문에 시간을 짧게 정해 잦은 로그인을 해야 되는 상황이 발생하기 때문에 refresh토큰을 사용한다. refresh토큰은 만료시간이 길고 access토큰을 발급하는 기능을 하기 때문이다
    • 적용방법 
      • JwtRokenProvider를 사용해 Refresh 토큰을 발급하는 메서드를 만든다
      • 반환값을 Access와 Refresh 토큰들의 응답 DTO를 따로 만든다
      • Refresh 토큰 엔티티와 레파지토리를 만든다
      • Refresh 토큰을 발급하고 저장 후 Access 토큰과 함께 반환해 준다
      • Refresh 토큰이 만료되면 재 로그인을 통해 토큰을 재발급받는다

오늘의 회고

  • 어찌어찌 프로젝트를 완성했는데 추가 구현단계에서 로깅과 Refresh Token부분을 구현하려고 보니 찾아서 할만한 수준이 아닌 거 같아 개념만 먼저 찾아봤다 주말에 시간이 허락하면 다시 시도해봐야 할 듯하다.