* 개념
* 구현
필요한 모듈들 설치하기
npm install @nestjs/jwt @nestjs/passport passport passport-jwt --save
@nestjs/jwt
- nestjs에서 jwt를 사용하기 위해 필요한 모듈
@nestjs/passport
- nestjs에서 passport를 사용하기 위해 필요한 모듈
passport
- passport 모듈
passport-jwt
- jwt 모듈
npm install @nestjs/jwt @nestjs/passport passport
passport-jwt --save
* 모듈에 import => app에서 사용가능토록
@Module({
imports:[
JwtModule.register({
secret:'Secret1234',
signOptions:{
expiresIn: 60*60,
}
}),
@Module({
imports:[
PassportModule.register({
defaultStrategy: 'jwt',
}),
* 서비스
async signIn(authCredentialDto : AuthCredentialsDto) {
...
//입력받은 비밀번호랑 저장된 비밀번호랑 비교
if(user && (await bcrypt.compare(password, user.password))){
//유저 토큰 생성 (Secret + Payload)
const payload = {username} //중요한정보 넣으면안됨
const accessToken = await this.jwtService.sign(payload); //payload + secret해서 알아서 토큰만들어줌
return { accessToken }; //객체로 리턴
}
...
}
'JS > Nest.js' 카테고리의 다른 글
[Nest JS] 커스텀 데코레이터(@) => 바로 user 가져오기 (0) | 2024.08.18 |
---|---|
[Nest JS] Passport , jwt => 토큰인증후 유저정보 가져오기 / @UseGuard 미들웨어 (0) | 2024.08.18 |
[Nest JS] 로그인 구현 / bcrypt.compare salt issue (0) | 2024.08.18 |
[Nest JS] 비밀번호 암호화 구현 (0) | 2024.08.18 |
[Nest JS] id 중복검사 구현 (0) | 2024.08.18 |