Search

JWT

본 문서에서는 블록 코딩 방식으로 JWT 토큰의 발급과 검증 방법을 설명합니다.
Index

JWT 소개

JWT 블록

Authorization > JWT 블록 카테고리의 블록을 통해 JWT 발급과 검증이 가능합니다.

1) JWT 토큰 발급 블록셋

JWT 토큰을 발급하여 반환합니다.
No.
기능
1
Jwt Token의 해시 알고리즘을 지정합니다.
2
Jwt 발급을 위한 Secret Key 혹은 인증서를 등록합니다.
3
Jwt의 정보(claim)를 등록합니다.

2) JWT 토큰 검증 블록셋

JWT 토큰 검증하여 정보를 반환합니다.
No.
기능
1
Jwt Token의 해시 알고리즘을 지정합니다.
2
Jwt 검증을 위한 Secret Key 혹은 인증서를 등록합니다.
3
Jwt의 정보(claim)를 등록합니다.

JWT 설정 블록

1) JWK

JWK는 Jason Web Key로 암호화 키를 표현하기 위한 다양한 정보를 담은 JSON 객체에 관한 표준입니다.
No.
기능
1
JWT 발급을 위한 인증서 정보를 등록합니다.
2
JWT 암호화 키를 등록합니다.

2) Header

Jwt Header 블록을 통해 토큰의 알고리즘 타입을 지정합니다.
버튼을 클릭하여 알고리즘 타입을 추가, 삭제 할 수 있습니다.
지원 가능한 타입은 HS256, HS384, HS512, RS256, RS384, RS512입니다.

3) Payload

Payload는 Jwt의 정보(claim)를 담고 있습니다.
Claim은 토큰에 대한 정보들을 담기 위하여 내역이 지정돼 있습니다. 모두 선택적으로 사용할 수 있지만(optional) 가급적 사용하도록 권고하고 있습니다.
별도 claim을 추가할 경우 add claim에 HashMap 형태로 추가합니다.
이름
내용
Data Type
Default
issuer
JWT 발급자
string
-
subject
JWT 제목
string
-
audience
JWT 대상
string(ArrayList)
-
experation
JWT 만료 시간을 Unix Timestamp 형식으로 입력
integer
-
not before
Unix Timestamp 형식으로 입력된 시점 이전까지는 토큰이 처리되지 않음
integer
null
jwtid
JWT 고유 식별자로 중복 처리 방지 목적으로 사용 일회용 토큰에 활용됨
string
-

JWT 토큰 블록 예제

1) JWT 토큰 발급

2) JWT 토큰 검증

발급 받은 토큰은 아래와 같이 검증 API로 토큰이 유효한지 확인해 볼 수 있습니다.
No.
기능
1
토큰을 request data에 담도록 블록을 구성합니다.
2
Fetch와 Get HashMap Variable 블록을 활용해 request data에서 토큰 정보를 추출합니다.
3
추출한 토큰을 변수에 담아 Jwt token Verify 블록으로 검증을 진행합니다.
4
입력한 토큰이 검증을 통과할 경우 토큰 정보가 반환됩니다.
5
토큰을 잘못 입력하거나 입력하지 않은 경우 ‘Unsupported input’ 예외 메시지가 반환됩니다.
6
유효 기간이 만료된 토큰을 입력한 경우 ‘The token expired’ 예외 메시지가 반환됩니다.
발급 받은 JWT 토큰과 Secret Key를 통해 jwt.io에서도 토큰의 검증 결과와 정보를 확인할 수 있습니다.