NestJS JWT발급

권태형·2023년 4월 24일
0

NestJS 연습

목록 보기
9/19
post-thumbnail

이번 포스팅에서는 NestJS에서 Json Web Token을 발급해 보도록 하자.

우선 NestJS용 jwt를 npm을 통해 설치해 준다.

$ npm install --save @nestjs/jwt

위의 라이브러리를 설치하고 나면, @nestjs/jwt에서 JwtModule과 jwtService를 통해 JWT를 발급할 수 있다.

AuthModule에 JwtModule을 임포트해서 .register를 이용해 어떤 secret키와 어떤 옵션을 쓸 것인지 정의해 두고,

로그인에서 토큰발급이 필요한 곳에 '@nestjs/jwt'에서 jwtService를 임포트 해와서 아래와 같이 사용하면 토큰을 발급해 줄 수있다.

정상동작 하는지 간단하게 확인해 보면 짜잔 굉장히 쉽게 JWT토큰을 발급 시킬 수 있다.

필자를 accessToken과 refreshToken발급을 위해 JwtModule을 2개 임포트 했었는데, 이럴때는 주의점이 존재했다.

위의 코드와 같이 expiresIn시간을 양쪽을 다르게 설정해 두었지만, 토큰을 생성하는 곳에서 시간을 정해주지 않으면, 두번째 모듈에서의 만료시간도 첫번째 모듈의 시간을 따라가게 되는 문제가 발생했었다.

따라서 토큰의 생성을 두개로 나눠야 할 경우에는 반드시 사용하는 함수내의 jwt.Service.sign에서 옵션으로 만료시간을 작성해 주어야만 한다.

profile
22년 12월 개발을 시작한 신입 개발자 ‘권태형’입니다. 포스팅 하나하나 내가 다시보기 위해 쓰는 것이지만, 다른 분들에게도 도움이 되었으면 좋겠습니다. 💯컬러폰트가 잘 안보이실 경우 🌙다크모드를 이용해주세요.😀 지적과 참견은 언제나 환영합니다. 많은 댓글 부탁드립니다.

0개의 댓글