패스잇
백엔드 개발 · 중급

JWT(JSON Web Token)의 구조와 Spring에서의 활용 방법에 대해 설명해주세요.

힌트 · Header, Payload, Signature 구조와 검증 방식을 설명해보세요.

HeaderPayloadSignatureSpring SecurityInterceptor

모범답안

JWT는 웹 표준 인증 방식 중 하나로, Header, Payload, Signature 세 부분으로 구성됩니다.

Header는 토큰 타입과 암호화 알고리즘 정보를 담고, Payload는 사용자 정보나 권한 같은 클레임 정보를 JSON 형태로 담습니다. Signature는 Header와 Payload를 특정 알고리즘으로 암호화한 값으로, 토큰의 유효성을 검증하는 데 사용됩니다.

Spring에서는 Spring Security와 함께 JWT를 많이 사용합니다. 인증 과정에서 JWT를 생성하여 클라이언트에게 전달하고, 클라이언트는 요청 시 JWT를 Header에 담아 보냅니다. 서버는 Interceptor나 Filter를 통해 JWT를 검증하고, 유효한 경우에만 요청을 처리합니다. Spring Security JWT 라이브러리를 사용하면 JWT 생성, 검증 로직을 쉽게 구현할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Java / Spring 면접 질문

← Java / Spring 면접 질문 전체 보기