반응형

1. Module

auth.module.ts

- JWT : JSON 형식의 자가 포함된 토큰, 클레임 세트를 포함하며 서명으로 확인할 수 있음

- JwtModule : NestJS에서 제공하는 모듈, JWT 기반 인증 기능을 쉽게 구현 가능

- passport : 인증 미들웨어 프레임워크, 다양한 인증 전략

- PassportModule : NestJs에서 제공하는 모듈, Passport를 사용한 인증 기능 구현할수 있게 해줌

- signOptions : JWT를 서명할 때 사용할 옵션을 지정하는 객체, 예 : 유효기간을 설정 가능

 

2 JWT 파일 생성

jwt.strategy.ts

- JwtStrategy : Passport를 사용하여 JWT 인증 전략을 정의하는 클래스

- PassportStrategy : Passport 전략을 NestJS와 통합하는데 사용되는 기본 클래스

- Strategy : passport-jwt 라이브러리의 JWT 인증 전략을 나타냄

- InjectRepository : TypeORM 레포지토리를 주입하는 데 사용

- super() : 자식 클래스에서 부모 클래스의 생성자를 호출하는 데 사용됨

- jwtFromRequest : 요청에서 JWT를 추출하는 방법을 지정하는 옵션

- ignoreExpiration : JWT의 만료 시간을 무시할지 여부를 지정하는 옵션

- secretOrKey : JWT를 검증할 때 사용할 비밀 키 또는 공개 키

- fromAuthHeaderAsBearerToken() : Authorization 헤더에서 Bearer형식의 토큰을 추출하는 함수

- payload : JWT의 페이로드 부분, 일반적으로 사용자의 정보나 권한과 같은 데이터를 포함

- findOne() : TypeORM에서 단일 레코드를 찾는 메소드

- UnauthorizedException() : 권한이 없음을 나타내는 예외를 발생시킴

 

3 Service

auth.service.ts
auth.service.ts

- where : {} 뜻 : findOne 메소드에서 사용되는 객체, 데이터를 찾을 때 사용할 조건을 지정

- compare () : bcrypt 라이브러리에서 사용하는 메소드, 암호화된 비밀번호와 평문을 비교함

- sign() : JwtService의 메소드, 주어진 payload로 JWT를 서명

 

4 Login DTO

loginUser.dto.ts



5 Controller

 

user.controller.ts

- @Body() lgoinUserDto : LoginUserDto 의 뜻 :HTTP 요청 본문에서 LoginUserDto 타입의 객체를 추출하는 데 사용되는 데코레이션

반응형

+ Recent posts