본문 바로가기
프론트엔드

(프론트엔드) Refresh토큰과 Access토큰 인증처리

by 흥부와놀자 2023. 6. 11.

 

https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-Access-Token-Refresh-Token-%EC%9B%90%EB%A6%AC-feat-JWT

 

🌐 Access Token & Refresh Token 원리

Access Token & Refresh Token 이번 포스팅에서는 기본 JWT 방식의 인증(보안) 강화 방식인 Access Token & Refresh Token 인증 방식에 대해 알아보겠다. 먼저 JWT(Json Web Token) 에 대해 잘 모르는 독자들은 다음 포스

inpa.tistory.com

Refresh Token을 왜쓰는데?

- Access Token으로만 인증처리를 진행할 시 토큰의 유효기간을 줄이기가 어렵고, 해당 토큰을 탈취당하면 긴 유효기간 동안 계속 해킹 당할 위험이 있다. 그렇기 때문에 Refresh Token을 따로 두어 Access Token의 유효기간을 줄이고 Access Token의 기간이 만료될 때 마다 Refresh Token을 서버에 전달해 다시 Access Token을 재발급 받는다. 이러면 해커가 Access Token을 탈취해도 유효기간이 짧기 때문에 조금 더 보안성이 높아지고 사용자는 기간이 만료될때마다 굳이 재로그인을 안해도 된다.  

 

한계점

- 결국 Access 토큰을 탈취당하면 유효기간까지는 해킹당하는 것이다. 짧은 시간동안 치명적인 피해를 입을 가능성이 다분하다.

- 유효기간이 긴 Refresh토큰을 탈취당하면 Access토큰을 마구 만들수 있다. 또한 토큰기반 인증의 한계점으로 서버에서 트래킹하고 있지 않기 때문에 탈취된걸 알아도 손쓰기 쉽지 않다. 물론 이를 막기위해 Refresh토큰을 서버에서 관리하고 로그인시 Refresh토큰도 새로 발급 받으면 된다. 하지만 이렇게 되면 여러명 한번에 접속시 순간부하가 걸리고 저장된 인증정보 관리를 신경써야한다. 

'프론트엔드' 카테고리의 다른 글

(파일시스템) Blob, Base64, arrayBuffer, Buffer  (0) 2023.09.10
(모듈시스템)CJS와 ESM  (0) 2023.08.11
(프론트엔드)yarn berry  (0) 2022.10.07
OpenApi-Generator  (0) 2022.08.07
SSR(Server Side Rendering)  (0) 2021.09.26