import { Injectable, UnauthorizedException } from '@nestjs/common';
import { CatsRepository } from 'src/cats/cats.repository';
import * as bcrypt from 'bcrypt';
import { JwtService } from '@nestjs/jwt';
import { LoginRequestDto } from './dto/login.request.dto';
@Injectable()
export class AuthService {
constructor(
private readonly catsRepository: CatsRepository,
private jwtService: JwtService,
) {}
async jwtLogIn(data: LoginRequestDto) {
const { email, password } = data;
//* 해당하는 email이 있는지
const cat = await this.catsRepository.findCatByEmail(email);
if (!cat) {
throw new UnauthorizedException('이메일과 비밀번호를 확인해주세요.');
}
//* password가 일치한지
const isPasswordValidated: boolean = await bcrypt.compare(
password,
cat.password,
);
if (!isPasswordValidated) {
throw new UnauthorizedException('이메일과 비밀번호를 확인해주세요.');
}
const payload = { email: email, sub: cat.id };
return {
token: this.jwtService.sign(payload),
};
}
}
2021. 10. 21. 15:42
다행이네요 ㅎㅎ
보통 node_modules가 꼬이거나 dist 폴더(컴파일 결과물들) 문제로 이런 이슈가 많이 발생합니다. 스트레스 많이 받으셨을텐데 화이팅입니다!