VIBECODING 365 / DICTIONARY
JWT
JWT (JSON Web Token)
DEFINITION
정의
사용자 인증 정보를 JSON 형태로 안전하게 전달하기 위한 토큰 표준(RFC 7519)으로, 서버가 세션 상태를 저장하지 않는 무상태(stateless) 인증 방식이다. 토큰은 헤더(알고리즘·타입), 페이로드(사용자 정보·만료시간), 서명(위변조 방지) 세 부분으로 구성되며, Base64URL로 인코딩되어 점(.)으로 연결된다. AI에게 '로그인 API 만들어줘'라고 하면 높은 확률로 JWT 기반 인증 코드를 생성하는데, 이는 JWT가 구현이 비교적 간단하고 서버리스 환경과 궁합이 좋기 때문이다. 그러나 AI 생성 JWT 코드에서 자주 발생하는 문제들이 있다: 토큰 만료 시간을 설정하지 않거나 지나치게 길게 설정, 리프레시 토큰(refresh token) 메커니즘 누락, httpOnly·secure 쿠키 대신 localStorage에 저장(XSS 취약), 토큰 무효화(로그아웃 시 서버 측 블랙리스트) 미구현, 비밀 키를 코드에 하드코딩 등. 이러한 보안 누락은 AI Slop의 전형적 사례이며, JWT를 사용할 때는 반드시 인간이 보안 측면을 검토해야 한다.
참고
AI 생성 코드에서 토큰 만료, 갱신, 안전한 저장 등이 누락되는 경우가 빈번.
ENGLISH
JWT (JSON Web Token)
EXAMPLE
AI에게 '로그인 API 만들어줘'라고 하면 높은 확률로 JWT 기반 인증 코드를 생성.
NOTES
AI 생성 코드에서 토큰 만료, 갱신, 안전한 저장 등이 누락되는 경우가 빈번.
REFERENCE
jwt.io관련
이어서 볼 문서
RELATED TERMS
연관 용어
Authentication
사용자가 누구인지 확인하는 과정이다. 로그인 폼에서 이메일과 비밀번호를 확인하거나, 소셜 로그인으로 사용자의 신원을 확인하는 단계가 인증에 해당한다. 바이브 코딩에서는 AI가 로그인 기능을 빠르게 만들어 주지만, 비밀번호를 평문으로 저장하거나 만료 없는 로그인 상태를 만드는 실수가 자주 생긴다. 초보자는 인증을 '문 앞에서 신분증을 확인하는 일'로 이해하면 쉽고, 실제 서비스에서는 비밀번호 해시, 세션, JWT, OAuth 같은 방식 중 프로젝트 규모와 보안 요구에 맞는 방법을 선택해야 한다.
보안·인증 권한 부여Authorization
이미 인증된 사용자가 특정 데이터나 기능에 접근할 수 있는지 판단하는 과정이다. 예를 들어 로그인은 성공했더라도 다른 사람의 주문 내역을 볼 수 없어야 하고, 일반 사용자가 관리자 페이지에 접근하면 안 된다. AI가 만든 CRUD 코드는 '로그인했는가'만 확인하고 '이 데이터의 소유자인가'를 빼먹는 경우가 많다. 바이브 코딩에서는 API 라우트, 서버 액션, 데이터베이스 쿼리마다 권한 조건을 명시적으로 요구하고 테스트해야 안전하다.
보안·인증 비밀번호 해시Password Hash
비밀번호 원문을 되돌릴 수 없는 문자열로 변환해 저장하는 방식이다. 데이터베이스가 유출되더라도 사용자의 실제 비밀번호가 바로 드러나지 않도록 보호한다. 단순 SHA 해시만 쓰는 것은 안전하지 않고, bcrypt, Argon2, scrypt처럼 비밀번호 저장용으로 설계된 느린 해시 알고리즘과 salt를 사용해야 한다. 바이브 코딩에서 AI가 '간단한 로그인'을 만들 때 비밀번호를 그대로 저장하는 코드를 내놓을 수 있으므로, 회원가입·로그인 코드 리뷰의 첫 체크포인트가 된다.