Node.js / NestJS

JWT 인증

Passport.js, JWT strategy, guards, bcrypt, refresh token, 토큰 만료

25 면접 질문·
Mid-Level
1

JWT(JSON Web Token)란 무엇입니까?

답변

JWT는 당사자 간에 정보를 JSON 객체로 전송하기 위한 간결하고 안전한 형식을 정의하는 개방형 표준(RFC 7519)입니다. 무결성을 보장하기 위해 디지털 서명되며 암호화할 수도 있습니다. JWT는 필요한 모든 정보를 포함하고 서버 측 세션이 필요하지 않기 때문에 REST API의 stateless 인증에 일반적으로 사용됩니다.

2

JWT의 구조는 어떻게 됩니까?

답변

JWT는 점으로 구분된 세 부분으로 구성됩니다: Header(서명 알고리즘 및 타입), Payload(claims/데이터), Signature(무결성 검증). 각 부분은 Base64URL로 인코딩됩니다. 예: eyJhbGc.eyJzdWI.SflKxwRJ. 이 구조 덕분에 데이터가 변조되지 않았음을 보장하면서 데이터를 전송할 수 있습니다.

3

JWT를 처리하는 데 사용되는 NestJS 패키지는 무엇입니까?

답변

@nestjs/jwt는 NestJS에서 JWT 토큰 생성 및 검증을 용이하게 하기 위해 jsonwebtoken 패키지에 대한 추상화를 제공합니다. JwtModule을 통해 NestJS 모듈 시스템과 통합되며 sign(), signAsync(), verify(), verifyAsync()와 같은 메서드를 갖춘 JwtService를 노출합니다. 완전한 인증을 위해서는 @nestjs/passport와 함께 사용해야 합니다.

4

JwtService.sign() 메서드의 역할은 무엇입니까?

5

JwtService.verify() 메서드의 역할은 무엇입니까?

+22 면접 질문

다음 면접을 위해 Node.js / NestJS을 마스터하세요

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

무료로 시작하기