auth.service.ts
1016 Bytes
import { Injectable } 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, String(user.userPassword))) {
// const { ...result } = user;
// return result;
// }
return null;
}
async publicLogin() {
const payload = { type: 'public' };
return {
access_token: this.jwtService.sign(payload, { secret: process.env.TOKEN_SECRET }),
};
}
async privateLogin(user: any) {
const payload = { username: user.email, sub: user.id, type: 'private' };
return {
access_token: this.jwtService.sign(payload, { secret: process.env.TOKEN_SECRET }),
};
}
}