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