StoryCode

JWT ( JSON Web Token )

IT 용어, 인터넷 활용 등등
반응형
Authentication - 인증, 로그인시. ( Ex> 공원에 들어갈때 )
- stateful 임.
Authorization - 인가, 로그인후 각 액션시. ( Ex> 공원내에 각 기구 탈때 )
- JWT 는 Authorization 방법
- 로그인후 서버로부터 JWT 를 웹브라우저 받아서 보관한다.
- stateless 임

 

http://jwt.io 

위 그림은 

1번째
HEADER 부분
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 - {"alg": "HS256",  "typ": "JWT"} 를 base64urlencode 한 값
- typ : JWT 고정, alg 는 3번째 생성할때 쓸 암호화 로직
- decode 해서 보는 게 가능
2번째
PAYLOAD 부분
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ - {"sub": "1234567890", "name": "John Doe", "iat": 1516239022} 를 base64urlencode 한 값
- 사용자 정의 데이타(= Claim 이라 함) 가 들어간다. 유효시간, 닉네임, 레벨, 토큰 발급 주체와 대상
- decode 해서 보는 게 가능
- 서버에서는 여기 정보를 Base64 decoding 해서 사용하면 된다.
3번째
VERIFY SIGNATURE부분
c2KM7ZlcHtYSau9ce_tf7O7KYDtuE5LWEzhGCCvWTzQ - 1번째 HEADER 와 "." 와 2번째 PAYLOAD 와 서버 비밀키를 암호화 로직으로 인코딩한 값
- 서버에서는 1번째 HEADER 와 2번째 PAYLOAD 와 서버 비밀키 = 3번째 VERIFY SIGNATURE 인지 매번 확인 필요.

 


Type Sent Encoded Format 사용례
무기명 토큰 인증 헤더 일반 텍스트 API 요청을 인증하고 승인하는 데 사용
JWT 무기명 인증 헤더 JSON 웹 토큰 API 요청을 안전하게 인증하고 승인하는 데 사용됨
기본 인증 인증 헤더 Base64 인코딩 보호된 자원에 액세스하기 위해 사용자를 인증하는 데 사용

 

반응형

'IT 용어, 인터넷 활용 등등' 카테고리의 다른 글

Fluent API, 빌더 패턴  (0) 2021.11.15
Template Meta Programming  (0) 2021.11.14
Software.Architect.AA, TA, DA, QA, BA  (0) 2020.08.21
CI, DI  (0) 2020.04.20
ab (apache bench) 테스트  (0) 2020.03.26