auth.service.ts 766 B

12345678910111213141516171819202122232425262728
  1. import { Logger, Injectable } from '@nestjs/common';
  2. import { UsersService } from '../users/users.service';
  3. import { JwtService } from '@nestjs/jwt';
  4. @Injectable()
  5. export class AuthService {
  6. constructor(
  7. private readonly usersService: UsersService,
  8. private readonly jwtService: JwtService,
  9. ) {}
  10. async validateUser(username: string, pass: string): Promise<any> {
  11. const user = await this.usersService.findOne(username);
  12. Logger.log(user);
  13. if (user && user.password === pass) {
  14. const { password, ...result } = user;
  15. return result;
  16. }
  17. return null;
  18. }
  19. async login(user: any) {
  20. const payload = { username: user.username, sub: user.userId };
  21. return {
  22. access_token: this.jwtService.sign(payload),
  23. };
  24. }
  25. }