본문 바로가기

부트캠프 일지

부트캠프 82일차 후기

이전 프로젝트에서는 로그인 방식이 formLogin 방식을 사용했는데, 이번에는 Rest-API를 더 적극적으로 사용할 수 있는 방법을 고민하였다.

 

내가 만든 이 애플리케이션은 JWT 방식을 사용한다. 이 방식은 서버에 로그인한 클라이언트를 저장하는 것이 아니라, 클라이언트 측에서 API를 요청할 때마다, HTTP의 Header에 Authorization 속성을 추가해서 JWT를 넣는 방식이다. 즉, 서버에서 발급받은 토큰을 클라이언트, 즉, 프론트엔드에 저장을 해야한다. 그런데, 나는 프론트엔드를 잘 몰라서 이것을 어떻게 해결해야할 지 많이 고민을 하였다.

 

프론트엔드 측에서 정보를 저장하는 방법에 두 가지를 고민했어야 했다. 첫 번재는 LocalStorage에 저장하는 방법이고, 두 번째는 Cookie에 저장하는 방법이다. 이 두 가지 방법 중 정답은 없다고 한다. 다만 각자 장점과 단점이 있다고 하는데, localStorage는 CSRF 공격에 안전하고, XSS 공격에 취약하다는 단점이 있다.. cookie는 XSS 공격이 localStorage 보다 안전하지만, CSRF 공격에 안전하다.

 

XSS 공격은, 공격자가 원하는 js 코드를 피해자 웹 브라우저에서 실행하도록 코드를 주입시키는 것을 의미하고 CSRF는 정상적인 request를 가로채서 변조된 request를 보내서 수행하는 공격을 의미한다. 내가 찾은 블로그에서는, localStorage를 좀 더 추천하는 문맥인 것 같아서, 이것을 사용하기로 했다.

 

내일 내지 모래로 프론트엔드 작업을 마치고 부가기능 작업을 수행할 예정이다. 시간이 부족하면 주말에도 작업을 하자.

 

참조: https://velog.io/@0307kwon/JWT%EB%8A%94-%EC%96%B4%EB%94%94%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%B4%EC%95%BC%ED%95%A0%EA%B9%8C-localStorage-vs-cookie

 

JWT는 어디에 저장해야할까? - localStorage vs cookie

이번에 지하철 미션을 만들면서 JWT를 클래스 property에 저장했었는데 리뷰어 분께 해당 부분을 피드백 받으면서 어디에 JWT를 저장하는 것이 좋을까 에 대해 고민해보게 되었다. 0. 기본 지식 JWT Js

velog.io

 

'부트캠프 일지' 카테고리의 다른 글

부트캠프 84일차 후기  (0) 2024.03.28
부트캠프 83일차 후기  (1) 2024.03.27
부트캠프 81일차 후기  (1) 2024.03.25
부트캠프 80일차 후기  (0) 2024.03.22
부트캠프 79일차 후기  (0) 2024.03.21