[WIL] 항해99 1주차 회고

uoahy·2022년 6월 26일
0

[WIL] 항해99 회고록

목록 보기
1/5

항해99 1주차가 끝이 났다.

이번 주차에는 4일동안 미니 팀프로젝트를 진행했는데

그 중 나는 로그인 및 인증 부분을 담당하였고 JWT를 사용하여 구현하였다.

JWT란?

JWT 인증 방식은 사용자가 인증이 필요한 요청마다 토큰을 헤더에 실어 보내고 서버에서 토큰의 조작 여부, 유효기간을 확인한 후 검증이 완료된다면 데이터를 제공하는 방식이다.
장점으로는 토큰을 발급한 후 검증만 하면 되기 때문에 추가 저장소가 필요없다.
이는 Stateless한 서버를 만들고 서버를 확장하거나 유지보수하는데 있어서 큰 강점이다.
단점으로는 한 번 발급된 토큰에 대해서는 유효기간이 만료될 때까지 돌이킬 수 없다.
이에 대한 해결책으로는 Access Token의 유효기간을 짧게하고 Refresh Token이라는 새로운 토큰을 발급해서 Access Token이 탈취당해도 상대적으로 피해를 줄일 수 있다.
또, Payload는 따로 암호화되지 않기 때문에 유저의 중요한 정보들을 담을 수 없어 Payload 정보가 제한적이고 쿠키/세션 방식에 비해 JWT의 길이가 길기 때문에 인증이 필요한 요청이 많아질수록 서버의 자원낭비가 발생한다.

그동안은 프로젝트를 진행하면서 로그인을 제대로 구현해본적이 없어 이번에 인증과 관련된 개념을 처음 공부하게 되었는데 좋은 경험이었고 한층 성장하게 된 것 같다.

0개의 댓글