Spring 기초

- JWT

JWT(JSON Web Token)은 쿠키-세션 소통방식의 대체재로서 정보를 JSON 객체를 통해 안전하게 전달한다.

추가로 secret key를 사용한 서명과 검증을 통해 유저를 인증하는 방식의 토큰이다.

JWT는 헤더, 페이로드, 서명으로 이루어져 있다.

헤더는  토큰의 타입("JWT")와 서명 알고리즘(주로 SHA256)이 포함되어 있다. 

페이로드는 사용자와 토큰 관련 정보들을 담고 있는 클레임들이 포함된다.

서명에는 서명 알고리즘으로 인코딩된 서명이 포함되어 있다.

이 세 요소들이 '.' 으로 구분되어 있으며 모두 base64url로 인코딩되어 있다.

JWT의 사용처는 권한부여 Or 정보교환

장점: 동시 접속사가 많을 때 서버 측 부하 낮춤(세션 저장소에 정보를 요청하지 않기 때문에), Client와 서버가 다른 도메인을 사용할 때

단점: 코드가 많아짐. 담는 내용이 많아질 수록 네트워크 비용 증가, Secret Key 유출 시 JWT 조작 가능.

 

알고리즘

- 프로그래머스 : H-Index (Level 2, 정렬)

'TIL' 카테고리의 다른 글

[23.11.14]  (2) 2023.11.14
[23.11.13]  (1) 2023.11.13
[23.11.09]  (0) 2023.11.09
[23.11.08]  (0) 2023.11.08
[23.11.07]  (1) 2023.11.07

+ Recent posts