반응형
1. JWT란
* 의미 : JWT란 클라이언트와 서버 간에 정보를 JSON 객체로 안전하게 전송하기 위한 개방형 표준
* 역할 : 사용자 측에서 사용자의 정보를 관리하는 토큰 기반 인증 메커니즘
2. JWT의 구조
* Header : Signature을 만드는데 사용한 알고리즘(alg)과 Token의 타입 정보(typ)를 가지고 있음
{
"alg" : "HS256",
"typ" : "JWT"
}
// 사용한 알고리즘은 HS256이고 Token 타입은 JWT
* Payload : 실질적으로 전달해야 하는 정보들을 가지고 있으며, 담겨있는 정보 하나 하나를 Claim이라고 함
{
"exp": "1245678900", //Registered Claims
"https://velopert.com/jwt_claims/is_admin": true, //Public Claims
"user_id" : 12345123 //Private Claims
}
* Signature : Header의 인코딩된 내용과 Payload의 인코딩된 내용을 더한 뒤 Secret Key와 알고리즘을 이용해 암호화된 JWT의 서명 부분
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)
Resources
- 위코드 Foundation - 2
반응형
'Learning Log > CS' 카테고리의 다른 글
[cs] 운영체제의 역할, PCB, 메모리 계층 (0) | 2023.07.31 |
---|---|
[cs] 쿠키, 세션, 토큰이란 (0) | 2023.07.27 |
[cs] 프로세스와 스레드 (0) | 2023.07.27 |
[cs] RESTful API란 (0) | 2023.07.27 |