일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Java
- Eclipse
- 로버트마틴
- 함수형 프로그래밍
- 큐
- JavaScript
- solid
- 자바
- 스택
- Python
- tcp
- exception
- Spring
- javscript
- 프로그래머스
- 파이썬
- JDBC
- lambda calculus
- Collection
- 겨울카카오인턴
- Rails
- design-pattern
- Collections
- Network
- 디자인패턴
- 백준
- functional programming
- DesignPattern
- Pattern
- 람다 칼큘러스
Archives
- Today
- Total
개발자 노트
JWT 형식에 대한 의문 WITH RFC 7519 본문
형식
RFC에 작성된 JSON 포맷과 라이브러리들이 구현한 JSON 포맷이 다르다!?
을 보시면 동일한 값을 나타내는 JSON이 여러 개일 수 있으므로 애매모호함을 제거하기 위해 다음과 같이 포맷을 정의하고 있습니다.
컴마 뒤에는 \r \n 스페이스바가 따른다.
그래서 아래의 포맷이 있으면
{
"alg": "HS256",
"typ": "JWT"
}
문자열을 UTF-8 기준으로 8진수로 변환할 경우엔 이와 같습니다.
[123, 34, 116, 121, 112, 34, 58, 34, 74, 87, 84, 34, 44, 13, 10, 32,
34, 97, 108, 103, 34, 58, 34, 72, 83, 50, 53, 54, 34, 125]
, \r \n 스페이스바의 8진수 표현은 아래와 같습니다.
44, 13, 10, 32
12번 ~ 15번 인덱스에 나타납니다.
그래서 이를 BASE64UrlEncoding하면
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9
이와 같다고 하는데,,,
jwt 디버깅 페이지, wiki 예시, jwt-java 라이브러리들이 모두
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9
를 나타내고 있습니다.
결론은...
rfc문서를 잘못읽었네요.
같은 의미를 지닌 json의 형태가 여러 개 일 수 있습니다. 따라서 해당 문서에서는 애매한 부분을 제거하기 위해 json을 다음과 같이 정의한다~ 라는 것이였네요.
반응형
'Web' 카테고리의 다른 글
간소화한 Transaction (0) | 2022.07.15 |
---|---|
로컬용 TLS 통신 (1) | 2022.01.15 |
dataTable 구현 (0) | 2021.06.01 |
[Browser] 크롬에서 console.log가 안되는 경우 (0) | 2020.06.16 |
[Javascript]Transition 작동문제(infinite sliding window...) (0) | 2020.06.15 |
Comments