들어가기 전...
로컬 프로그램을 해온 나로서는 인증과 검증은 들어오는 데이터의 트리밍 밖에 없었다
프로토콜 내의 헤더 값과 데이터로 오류 검증 밖에 없었는데...
JWT
토큰
JWT(Json Web Token)
장점
- JWT 장점
- Signature로 서버의 보안성이 증가한다.
- Token 자체가 필요한 정보(유저 및 검증 정보)들을 모두 가지고 있다.
- 서버는 인증 정보와 관련된 별도의 저장소를 사용하지 않는다.
- 서버의 수평 확장성(Scale Out)이 높아진다.
- Cookie가 없는 다른 환경에서도 인증/인가를 적용할 수 있다.
- DB를 조회하지 않아도 된다.
💡 Mobile의 경우 App을 자주 닫거나 백그라운드로 전환하여 Session 방식을 사용하지 않는다.
(세션의 만료 시점을 정할 수 없는 이유)
단점
- JWT 단점
- Payload는 암호화 된 것이 아니라 민감한 정보를 다루지 못한다.
- Token의 길이가 길어서 트래픽이 증가하면 네트워크에 부하가 증가한다.
- 클라이언트 측에서 Token을 관리하기 때문에 탈취당하면 대처하기 어렵다.
Token