호비시의 끄적끄적

JWT 본문

Back

JWT

호비시 2022. 4. 15. 19:48

서버가 1개인 이유는 필요가 없다

Sever1 이 모든 Client의 로그인 정보를 가지고 있기 때문에.

하지만 대용량 트래픽 처리를 위해 2대 이상의 서버를 사용중 이라면 Server 마다 다른 Client 의 로그인 정보를 가지고 있을 수 있다.  Server1에는 Client1의 정보만 있다고 가정하면 Client1이 Server2에 접근하기 위해서는 다시 로그인을 해야할 것이다. 이런 것을 방지하기 위해 크게 2가지 방법이 있다.

1. Session Storage

Session Storage에 모든 Client의 로그인 정보를 가지고 있으면 Client가 다른 Session에 접속을 요구하더라도 다시 로그인 하는 번거로운 일이 없어진다.

 

2. JWT

모든 서버에서 동일한 Secret Key 소유해서 Client가 가지고 있는 JWT로 모든 Session에 접근이 가능해진다.

JWT 장/단점

  1. 장점
    • 동시 접속자가 많을 때 서버 측 부하 낮춤
    • Client, Sever 가 다른 도메인을 사용할 때
      • 예) 카카오 OAuth2 로그인 시 JWT Token 사용
  2. 단점
    • 구현의 복잡도 증가
    • JWT 에 담는 내용이 커질 수록 네트워크 비용 증가 (클라이언트 → 서버)
    • 기생성된 JWT 를 일부만 만료시킬 방법이 없음
    • Secret key 유출 시 JWT 조작 가능

'Back' 카테고리의 다른 글

Adapter pattern  (0) 2022.07.29
로그인 관리 Session? JWT  (0) 2022.06.29
Docker ?  (0) 2022.06.25
객체지향 프로그램이란  (0) 2022.06.20
git bash ec2 연결  (3) 2022.04.18
Comments