기본 콘텐츠로 건너뛰기

라벨이 hmac인 게시물 표시

JWT 토큰 생성과 유효성 확인 과정

JWT 토큰 생성과 유효성 확인 과정 API 서비스를 개발하고 이에 대한 접근 권한을 제어하기 위하여 JSON Web Token(JWT)을 활용할 수 있습니다. 이 문서에서는 JWT 토큰의 생성과 유효성 확인 과정을 그림과 Python 코드를 사용하여 설명합니다. 전자서명 알고리즘으로는 HS256을 사용 하였습니다. HS256(HMAC-SHA256) 대칭키 암호화 방식 HMAC(Hash-based Message Authentication Code) 해시 함수를 기반으로 메시지 인증 코드를 생성하는 알고리즘 다음은 토큰 생성과 유효성 확인 과정에서 사용하게 될 Base64 인코딩/디코딩 함수입니다. import base64 import hashlib import hmac def base64_encode ( input_as_bytes ) : b = base64 . urlsafe_b64encode ( input_as_bytes ) . decode ( 'utf-8' ) return b . rstrip ( '=' ) def base64_decode ( input_as_string ) : padding = 4 - len ( input_as_string ) % 4 input_as_string = input_as_string + '=' * padding return base64 . urlsafe_b64decode ( input_as_string . encode ( 'utf-8' ) ) . decode ( 'utf-8' ) 1. 토큰 생성 1.1. 다이어그램 1.2. Python 구현 def create_jwt_token ( header_obj_str , payload_obj_str , secret ) : header = base64_encod...