Json Web Token

Junyoung Song·2022년 4월 26일

Json Web Token이란?

Json Web Token(JWT)란 선택적 서명과 선택적 암호화를 사용하여 데이터를 만들기위한 인터넷 표준입니다. 토큰은 비공개 시크릿키, 또는 공개키를 사용하여 서명됩니다. 예를 들어 서버는 '관리자로 로그인됨' 이라는 정보를 담고있는 토큰을 생성하여 이를 클라이언트에게 제공합니다. 이러한 토큰은 한쪽의 비공개 키에 의해 서명이 가능하며 이러한 서명을 한쪽은 토큰이 적법한지 확인이 가능합니다. 다른쪽에서 공개키를 소유하고 있을경우 토큰이 적법한지 확인 가능합니다.

JWT의 구조

헤더, 페이로드, 서명 부분을 Base64url 인코딩을 사용하여 인코딩하여 점을 사용하여 연결하여 JWT를 생성합니다.
JWT는 aaaaa.bbbbb.ccccc 의 구조를 가지게 됩니다.

JWT 사용방법

사용자가 아이디와 비밀번호를 입력하여 로그인을 할 경우 서버에서는 요청을 확인한 뒤 secret key를 이용하여 JWT로된 Access token을 발급하게 됩니다. 클라이언트는 토큰을 발급 받은 뒤 API요청을 할때 Authorization header에 서버로 부터 발급받은 Access token을 담아서 보냅니다. 서버는 JWT 서명을 체크하고 페이로드에 담겨있는 정보를 확인합니다. 그리고 적법한 JWT일경우 요청에 대한 응답을 보냅니다.

0개의 댓글