-
[m1 맥북] - nest.js 공부하기 31. JWT를 이용해서 토큰 생성하기Nest.js 2022. 6. 4. 17:58728x90
npm install @nestjs/jwt @nestjs/passport passport passport-jwt --save
애플리케이션에 JWT 모듈 등록하기
1. auth 모듈 imports에 넣어주기
auth.module.ts
Secret
- 토큰을 만들 때 이용하는 Secret 텍스트 (비밀번호 같은거)
ExpiresIn
- 정해진 시간 이후에는 토큰이 유효하지 않게 됩니다. 60 * 60 은 한시간 이후에는 이 토큰이 더이상 유효하지 않게 됩니다.
애플리케이션에 Passport 모듈 등록하기
1. auth 모듈 imports에 넣어주기
auth.module.ts
로그인 성공 시 JWT를 이용해서 토큰 생성해주기
1. Service에서 SignIn 메소드에서 생성해주면 됩니다.
auth.module.ts에서 JWT를 등록해주었기 때문에 Service에서 JWT를 가져 올 수 있습니다. ( 의존성 주입 )
2. Token을 만드려면 Secret과 Payload가 필요합니다. Payload에는 자신이 전달하고자 하는 정보를 넣어주면 됩니다.
중요한 정보는 Payload에 넣으면 안된다 가령 비밀번호라던지...
이후 Payload를 이용해서 JWT에서 토큰을 만들때 사용하는 Sign 메소드를 이용해서 토큰을 생성해주고 리턴 합니다.
주의할것이 return값이 기존에 Promise<string> string제네릭 타입 Promise를 반환 했는데 accessToken 오브젝트를 반환하기 때문에 변경
Controller에서도 리턴값을 바꿔 줘야한다.Token값을 얻을 수 있다.
728x90'Nest.js' 카테고리의 다른 글
[m1 맥북] - nest.js 공부하기 33. 커스텀 데코레이터 생성하기 (0) 2022.06.09 [m1 맥북] - nest.js 공부하기 32. Passport, Jwt 이용해서 토큰 인증 후 유저 정보 가져오기 (0) 2022.06.04 [m1 맥북] - nest.js 공부하기 30. 로그인 기능 구현하기 (0) 2022.06.04 [m1 맥북] - nest.js 공부하기 29. 비밀번호 암호화 하기 (0) 2022.06.04 [m1 맥북] - nest.js 공부하기 28. 유저 이름에 유니크한 값 주기 (0) 2022.06.04