npm install @nestjs/jwt @nestjs/passport passport passport-jwt --save
jwt 및 passport 관련 패키지 설치
user 컨트롤러에서 로컬 로그인 라우트 생성
nest g module auth
nest g controller auth
nest g service auth
로그인과 인증 인가를 맡을 auth 모듈 생성
passport 모둘과 configmodule jwt모듈 설정과
user모듈과 auth 모듈간의 순환참조모듈 문제를 해결해줄 forwardRef 함수 import해주기.
auth모듈에서 userService를 사용하기 위해 exports
user모듈과 auth 모듈간의 순환참조모듈 문제를 해결해줄 forwardRef 함수 import해주기.
user모듈에서 authService를 사용하게 하기 위해 exports
1. 해당 email을 가진 사용자가 데이터베이스에 저장되어 있는지 확인후 없으면 에러 던짐
2. 해당 password가 저장된 유저의 비밀번호가 해쉬된 값인지 비교후 아닌경우 에러 던짐
3. payload로 사용자의 emil로 생성
4. jwtservice로 토큰 생성 후 반환
토큰 반환 확인
'캡스톤 설계 [건물별 소통 플랫폼 BBC] > 개발 진행' 카테고리의 다른 글
유저 정보가 들어있는 User 커스텀 데코레이터 (0) | 2023.09.27 |
---|---|
백엔드 로컬로그인 Passport로 Jwt Strategy 전략및 UseGuard데코레이터로 인증 및 인가 (0) | 2023.09.27 |
NestJS request LifeCycle[요청주기] (0) | 2023.09.27 |
백엔드 Interceptors & AOP 패턴 (0) | 2023.09.25 |
백엔드 Exception filter (0) | 2023.09.25 |