Logo
내 게시판 만들기
파이썬

JWT — 토큰 기반 인증

너구리 | 2026.04.27 13:06:23
조회 18 | 추천 0

JWT(JSON Web Token)는 「서버가 발급한 서명된 JSON」을 토큰으로 쓰는 인증 방식입니다.

세션처럼 서버에 상태를 저장 안 해도 되어, 마이크로서비스·SPA·모바일 앱과 잘 맞습니다.



구조.

xxx.yyy.zzz 형태의 세 부분.

header(알고리즘), payload(사용자 정보·만료시각 등 클레임), signature(서명).

Base64 인코딩되어 있어 「누구나 읽을 수 있지만, 서명 검증으로 위변조는 불가」.



기본 흐름.

1) 사용자가 로그인 → 서버가 JWT 발급.

2) 클라이언트가 Authorization: Bearer xxx 헤더로 매 요청에 포함.

3) 서버가 서명·만료 검증 → 사용자 식별.

DB 조회 없이 토큰만으로 인증.



파이썬 라이브러리 — PyJWT.

import jwt.

token = jwt.encode({"user_id": 123, "exp": ...}, secret, algorithm="HS256").

data = jwt.decode(token, secret, algorithms=["HS256"]).

위변조·만료된 토큰은 자동 예외.



주의사항.

한번 발급한 토큰은 만료 전엔 무효화 어려움(블랙리스트로 해결).

payload에 민감정보 넣지 말 것(누구나 읽힘).

짧은 만료시간 + refresh token 패턴이 표준.

HTTPS 필수.




한 줄 요약


JWT는 서명된 JSON을 토큰으로 쓰는 stateless 인증입니다.

서버에 세션 저장이 필요 없고, 마이크로서비스·SPA·모바일에 적합.

짧은 만료 + refresh token 패턴이 표준.




더 알아볼 것


- JWT vs 세션 비교

- refresh token 회전

- JWT 보안 — 알고리즘 고정

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
161 햇살이 26/04/27 14 0
160 다람쥐 26/04/27 20 0
159 구름이 26/04/27 18 0
158 햇살이 26/04/27 17 0
157 멍뭉이 26/04/27 16 0
156 토순이 26/04/27 17 0
155 야옹이 26/04/27 17 0
154 별님이 26/04/27 15 0
153 다람쥐 26/04/27 18 0
152 구름이 26/04/27 21 0
151 구름이 26/04/27 16 0
150 곰돌이 26/04/27 19 0
149 야옹이 26/04/27 21 0
148 다람쥐 26/04/27 17 0
147 구름이 26/04/27 17 0
146 다람쥐 26/04/27 42 0
145 구름이 26/04/27 17 0
144 별님이 26/04/27 15 0
143 곰돌이 26/04/27 16 0
142 너구리 26/04/27 18 0
141 야옹이 26/04/27 16 0
140 너구리 26/04/27 19 0
139 멍뭉이 26/04/27 16 0
138 야옹이 26/04/27 16 0
137 별님이 26/04/27 14 0
136 야옹이 26/04/27 17 0
135 멍뭉이 26/04/27 15 0
134 햇살이 26/04/27 15 0
133 햇살이 26/04/27 15 0
132 토순이 26/04/27 17 0
신고하기

신고 사유를 선택해 주세요.