Spring Boot

JWT 및 스테이트리스 보안

JWT를 사용한 스테이트리스 보안, 토큰 생성 및 검증, 보안 필터, 리프레시 토큰

20 면접 질문·
Senior
1

JWT(JSON Web Token)의 구조는 무엇입니까?

답변

JWT는 점으로 구분된 세 부분으로 구성됩니다: Header(알고리즘 및 타입), Payload(claims/데이터), Signature(무결성 검증). 각 부분은 Base64URL로 인코딩됩니다. 이 구조를 통해 두 당사자 간에 정보를 안전하고 검증 가능한 방식으로 전송할 수 있습니다.

2

토큰의 주체(사용자)를 나타내는 JWT claim은 무엇입니까?

답변

'sub'(subject) claim은 JWT의 주체를 식별하며, 일반적으로 인증된 사용자(예: user ID 또는 username)를 가리킵니다. 이는 RFC 7519에 정의된 표준 claim입니다. 다른 표준 claim에는 'iss'(issuer), 'exp'(expiration), 'iat'(issued at), 'aud'(audience), 'jti'(JWT ID)가 있습니다.

3

JWT의 서명 알고리즘에서 HMAC과 RSA의 주요 차이점은 무엇입니까?

답변

HMAC(예: HS256)는 서명과 검증에 공유된 대칭 비밀 키를 사용하는 반면, RSA(예: RS256)는 비대칭 키 쌍(서명용 개인 키, 검증용 공개 키)을 사용합니다. microservices 아키텍처처럼 여러 서비스가 서명 키에 접근하지 않고 token을 검증해야 하는 경우 RSA가 더 적합합니다.

4

token의 만료 날짜를 정의하는 JWT claim은 무엇입니까?

5

클라이언트는 HTTP REST 요청에서 JWT를 어떻게 보내야 합니까?

+17 면접 질문

다음 면접을 위해 Spring Boot을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기