JWT
= Json Web Tokens
= Json 객체를 사용해서 토큰 자체에 정보들을 저장하고 있는 Web Token
JWT 구성
- Header : Signature를 해싱하기 위한 알고리즘 정보들이 담겨있다.
- Payload : 서버와 클라이언트가 주고받는, 시스템에서 실제로 사용될 정보에 대한 내용들이 담겨있다.
- Signature : 토큰의 유효성 검증을 위한 문자열이 담겨있다.
장/단점
장점
- 중앙의 인증서버, 데이터 스토어에 대한 의존성이 없다. -> 시스템 수평 확장에 유리
- Base64 URL Safe Encoding을 이용하기 때문에 URL, Cookie, Header를 모두 사용 가능한 범용성을 가지고 있다.
단점
- Payload의 정보가 많아지면 네트워크 사용량이 증가한다. 이를 고려해서 데이터를 설계해야 한다.
- 토큰이 클라이언트에 저장되기 때문에, 서버에서는 클라이언트에 저장된 토큰 정보를 조작할 수 없다.
- stateless 한 방식이기 때문에 서버에서는 이 토큰을 가지고 있는 클라이언트가 정말 클라이너트 본인이 맞는지 확인할 수 없다.
'Study > Spring' 카테고리의 다른 글
[JPA] 테이블 연관관계 매핑 기초 (0) | 2023.02.10 |
---|---|
[Spring] Spring Security란? (0) | 2023.01.31 |
[Spring] 좋은 객체 지향 프로그래밍이란? (0) | 2023.01.24 |
[Spring] JPA 란? (0) | 2023.01.15 |
[Spring] DTO는 왜 써야 하나? (0) | 2023.01.11 |