JWT는 유저를 검증하고 식별하는 Token 기반의 인증 기법으로 서버가 아닌 클라이언트에게 저장이 된다. 구성으로는 헤더, 페이로드, 시그니처로 3개의 부분으로 구성되어 있으며 RFC7519로 지정되어있다.
헤더는 시그니처를 해싱하기 위한 알고리즘 정보가 담겨있으며,
페이로드는 서버와 클라이언트가 주고받는 시스템에서 실제로 사용될 정보에 대한 내용을 담고있다.
시그니처는 토큰의 유효성 검증을 위한 문자열, 토큰이 유효한 토큰인지 검증할 수 있으며 이는 Bast64 Url-asfe Encode 이후 Header에 적용된 해시함수를 적용 !
장점
- 중앙의 인증서버가 없어서 시스템 수평 확장 유리, 데이터 스토어에 대한 의존성 없음
- URL, COOKIE, HEADER 모두 사용 가능
단점
-payload의 정보가 많아지면 네트워크 사용량 증가, 서버에서 클라이언트의 토큰을 직접 조작 할 수 없음
JWT를 이용한 인증과정
1. 정상적인 로그인 실행 (클라이언트)
2. JWT 발급 (서버)
3. 발급된 토큰을 사용하여 API 요청 (클라이언트)
4. 토큰에 문제가 없다면 응답 (서버)
'모험가의 끄적노트 > Study' 카테고리의 다른 글
[ EC2_Amazon Linux ] Redis 설치하기 (0) | 2022.11.02 |
---|---|
[ EC2_Amazon Linux ] Mysql 설치하기 (0) | 2022.11.02 |
EC2 Ubuntu 인스턴스 생성부터 Java, Mysql 설치 및 외부접속하기 (0) | 2022.11.01 |
OOP에 대해 잘 나와있는 사이트 (0) | 2022.08.01 |
내가 까먹지않기위한 GitHub 아주 간단한 사용법 :) (0) | 2022.07.09 |