[인증/인가] Access 토큰과 Refresh Token

Kim Hyen Su·2023년 11월 10일

🔒인증인가

목록 보기
4/9

🎆 Access 토큰과 Refresh 토큰

JWT 방식의 인증을 강화한 방식.

🎇 Refresh Token이 왜 필요한가?

Access 토큰의 문제점은 제 3자에게 탈취 당하게 될 경우 서버 측에서 어떠한 제어도 불가하여 보안에 취약하다는 점이다.

Access 토큰은 발급 이후 서버에 저장되지 않고 토큰 자체에 저장된 정보로 검증하여 사용자 권한을 인증하기 때문에, Access Token을 취득한 누구든 권한 접근이 가능하다.

JWT는 생성 후 삭제가 불가능하기 떄문에 유효기간을 부여한다.

유효기간을 짧게 하면 보안이 올라가는 대신에 사용자들이 주기적으로 로그인을 해줘야 하기 때문에 불편함이 발생한다.

이러한 불편함을 해결하기 위해 Refresh Token을 사용한다.

- 로그인 성공
- Refresh Token 생성 및 저장, 기한 2시간
- Access Token 발급 및 클라이언트에게 전달, 기한 : 5분
- Access Token 기한 만료
- Refresh Token 확인 - 어떤정보로 확인?
- Refresh Token 존재 - Access Token 발급하기 - 새로운 토큰
- Refresh Token X - 로그아웃 - 로그인 화면

즉, Access Token은 클라이언트가 서버 리소스로 접근 하기 위한 것이고, Refresh Token은 Access Token을 재발급 하기위한 것이다.

profile
백엔드 서버 엔지니어

0개의 댓글