• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

JWT로 로그인 기능을 구현해보며 의문점이 들어 질문드립니다!

22.09.22 17:58 작성 조회수 223

0

안녕하세요 이번에 프로젝트를 좋은 강의 덕에 무사히 완성시킬 수 있었습니다. 그런데 로그인 기능을 구현하면서 느끼는 점은 로그인에 JWT를 쓰는 장점이 많은 요청에 대해 좀 더 네트워크상 효율적이란 것 하나 인가요?

JWT로 구현하면 페이지 이동 시에 권한 조회를 위해 db도 항상 조회하고.. user테이블이 커지면 장점보다 단점이 많지 않은가 생각이 들더라구요. 세션을 이용하지 않아서 이전 요청으로 리다이렉트 시키기도 힘들구..

단순 로그인 기능을 구현하려면 JWT보다 세션이 나을 수 있을 것 같은데 강사님 의견도 궁금합니다. 좋은 강의로 프로젝트를 마칠수 있게 해주셔서 다시한번 감사합니다.

답변 1

답변을 작성해보세요.

1

서버가 스케일 아웃 되면 (서버가 여러 컴퓨터로 분산되면)

서버 마다 세션이 생기기 때문에,

A서버, B서버가 있을때 A서버 쪽으로 로그인 요청을 하면 세션 정보는 A서버에 저장되기 때문에

B서버로 요청하게 되면 로그인이 안되었다고 나옵니다.

즉 세션으로 관리하게 되면 서버 확장이 힘들어지고

 

이를 위해 세션을 공유해서 사용하는 Redis(메모리) 서버를 사용하여 세션을 공유합니다.

 

JWT를 사용하면, 상태값을 서버가 가지고 있지 않고, 전자서명으로 로그인을 하기 때문에

서버 확장시 유리합니다.