blevels

Home / AI / AI 용어사전 / JWT — 로그인 상태를 토큰 하나로 유지하는 원리

TERM

JWT — 로그인 상태를 토큰 하나로 유지하는 원리

게시일 2026-04-30수정일 2026-04-30
공식 링크
On this page

소셜 로그인을 마친 뒤 페이지를 새로고침해도, 심지어 브라우저를 닫았다 열어도 로그인이 유지되는 경험을 해봤을 것이다. 이 마법의 핵심이 바로 JWT(JSON Web Token)다.

정의

JWT(JSON Web Token, 제이더블유티)는 두 시스템 간에 정보를 안전하게 전달하기 위한 컴팩트한 토큰 형식이다. 로그인 인증 상태를 서버가 세션으로 저장하지 않고, 토큰 하나로 클라이언트가 자신을 증명하는 방식(Stateless Authentication)에 쓰인다.

RFC 7519 표준에 정의되어 있으며, header.payload.signature 세 부분을 점(.)으로 연결한 Base64 인코딩 문자열로 구성된다.

JWT의 구조

전형적인 JWT는 다음과 같은 형태다:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJzdWIiOiJ1c2VyXzEyMyIsInJvbGUiOiJhZG1pbiIsImV4cCI6MTc0NTAwMDAwMH0.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

각 파트를 Base64 디코딩하면:

  • Header (헤더): 토큰 타입(JWT)과 서명 알고리즘 명시
  { "alg": "HS256", "typ": "JWT" }
  • Payload (페이로드): 사용자 정보(Claim). 누구인지, 어떤 권한인지, 만료 시각 등
  { "sub": "user_123", "role": "admin", "exp": 1745000000 }
  • Signature (서명): 헤더 + 페이로드를 서버의 비밀 키(Secret Key)로 HMAC-SHA256 서명. 변조 여부 검증용

서명이 일치하면 서버는 이 토큰을 신뢰한다. 서버는 토큰을 저장하지 않아도 된다.

세션 방식 vs JWT 방식

| 항목 | 세션(Session) | JWT | |---|---|---| | 저장 위치 | 서버 메모리/DB | 클라이언트(브라우저) | | 서버 부하 | 높음 (조회 필요) | 낮음 (검증만) | | 수평 확장 | 공유 세션 스토리지 필요 | 서버 간 공유 불필요 | | 토큰 무효화 | 즉시 가능 | 만료까지 유효 (단점) | | 적합한 환경 | 전통 웹, 소규모 | API 서버, MSA, 모바일 |

JWT의 핵심 단점은 토큰 발급 후 즉시 무효화가 어렵다는 점이다. 토큰이 탈취되더라도 만료 시각까지 유효하다. 이를 보완하기 위해 짧은 만료(15~60분)의 Access Token + 장기(7~30일) Refresh Token 쌍을 사용하는 패턴이 일반적이다.

AD

AI 서비스에서의 JWT

llm API 서비스나 AI 애플리케이션에서 사용자 인증에 JWT를 많이 활용한다:

  • OpenAI, Anthropic API는 API Key 방식을 쓰지만, 자체 AI 서비스를 만들 때 사용자별 권한 관리에 JWT 사용
  • supabase, Firebase 같은 BaaS는 JWT를 기본 인증 토큰으로 사용
  • AI 에이전트가 특정 사용자의 컨텍스트를 유지할 때 JWT payload에 세션 ID를 포함시키는 패턴

활용 사례

  • 소셜 로그인: Google/Kakao OAuth 후 발급된 사용자 정보를 JWT로 인코딩, 이후 API 호출에 사용
  • API 인증: Authorization: Bearer <JWT> 헤더로 REST API 호출 인증
  • 마이크로서비스: 여러 서비스 간 사용자 인증 정보를 JWT 하나로 전달 (공통 Secret 공유)

관련 용어

  • oauth — 소셜 로그인 표준 프로토콜. JWT를 토큰으로 활용
  • http — JWT를 전달하는 프로토콜 (Authorization 헤더)
  • session — JWT와 대비되는 서버 측 인증 방식
  • api — JWT로 인증하는 REST API
AD

백링크

이 문서를 참조하는 다른 페이지입니다.

AI 용어사전REF

쿠키(Cookie) — 브라우저가 나를 기억하는 방식의 정체

로그인 상태가 브라우저를 껐다 켜도 유지된다. AI 서비스가 내 설정과 최근 대화를 기억한다. 이 모든 기억의 실체가 쿠키다.

AI 용어사전REF

OAuth — 소셜 로그인 뒤에 숨은 보안 표준 이해하기

'구글로 로그인' 버튼을 누르는 순간, 비밀번호 한 글자도 제3자 앱에 노출되지 않는다. 이 흐름의 핵심은 OAuth 2.0이다. 권한을 위임하되 자격증명(credential)은 공유하지 않는 이 표준이 현대 인터넷 인증의 기반을 이룬다. AI 자동화 도구, 소셜 로그인, AP

AI 용어사전REF

OAuth — 소셜 로그인 뒤에 숨은 보안 표준 이해하기

'구글로 로그인' 버튼을 누르는 순간, 비밀번호 한 글자도 제3자 앱에 노출되지 않는다. 이 흐름의 핵심은 OAuth 2.0이다. 권한을 위임하되 자격증명(credential)은 공유하지 않는 이 표준이 현대 인터넷 인증의 기반을 이룬다. AI 자동화 도구, 소셜 로그인, AP

AI 용어사전REF

인증 vs 인가 — AI 서비스 보안이 두 단계로 나뉘는 이유

로그인에 성공했는데 "권한이 없습니다" 오류가 뜬 경험이 있다면, 그 순간이 바로 인증과 인가가 다른 두 개의 문이라는 사실을 체감한 것이다. 첫 번째 문은 통과했지만 두 번째 문은 열리지 않았다.

AI 용어사전REF

인증 vs 인가 — AI 서비스 보안이 두 단계로 나뉘는 이유

로그인에 성공했는데 "권한이 없습니다" 오류가 뜬 경험이 있다면, 그 순간이 바로 인증과 인가가 다른 두 개의 문이라는 사실을 체감한 것이다. 첫 번째 문은 통과했지만 두 번째 문은 열리지 않았다.

AI 용어사전REF

HTTP 상태 코드 — 200·404·500이 보내는 신호 해독법

AI API를 호출했더니 응답으로 숫자 하나가 돌아온다. 200이면 안도하고, 404면 당혹하고, 500이면 막막해진다. 이 세 자리 숫자가 HTTP 통신의 상태를 압축해서 전달하는 언어다.

AI 용어사전REF

HTTP 상태 코드 — 200·404·500이 보내는 신호 해독법

AI API를 호출했더니 응답으로 숫자 하나가 돌아온다. 200이면 안도하고, 404면 당혹하고, 500이면 막막해진다. 이 세 자리 숫자가 HTTP 통신의 상태를 압축해서 전달하는 언어다.