auth.service.ts
771 Bytes
import { Injectable, UnauthorizedException } from '@nestjs/common';
import { JwtService } from '@nestjs/jwt';
import { UsersService } from '../users/users.service';
import * as bcrypt from 'bcrypt'
@Injectable()
export class AuthService {
constructor(
private userService: UsersService,
private readonly jwtService: JwtService,
) { }
async validateUser(email: string, pass: string): Promise<any> {
const user = await this.userService.findByMail(email);
if (bcrypt.compareSync(pass, user.password)) {
const { ...result } = user;
return result;
}
return null;
}
async login(user: any) {
const payload = { username: user.email, sub: user.id };
return {
access_token: this.jwtService.sign(payload),
};
}
}