From 19452bb01e32fe22bae83c33bc42f85afac6bd20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E7=A7=8B=E6=97=AD?= Date: Thu, 23 Feb 2023 23:09:25 +0800 Subject: [PATCH] JwtAuthGuard --- src/common/guards/jwt-auth.guard.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/common/guards/jwt-auth.guard.ts b/src/common/guards/jwt-auth.guard.ts index 0b12c9b..ea14f16 100644 --- a/src/common/guards/jwt-auth.guard.ts +++ b/src/common/guards/jwt-auth.guard.ts @@ -2,14 +2,18 @@ import { Reflector } from '@nestjs/core' import { ExecutionContext, Injectable, + Logger, UnauthorizedException, } from '@nestjs/common' import { AuthGuard } from '@nestjs/passport' import 'rxjs' import { NEED_AUTH_KEY } from '../decorators/need-auth.decorator' +import { JsonWebTokenError } from 'jsonwebtoken' @Injectable() export class JwtAuthGuard extends AuthGuard('jwt') { + private readonly logger = new Logger(JsonWebTokenError.name) + constructor(private reflector: Reflector) { super() } @@ -25,10 +29,10 @@ export class JwtAuthGuard extends AuthGuard('jwt') { return true } - handleRequest(err, user, info) { - // You can throw an exception based on either "info" or "err" arguments - if (err || !user) { - throw err || new UnauthorizedException() + handleRequest(err: Error, user, info: Error) { + if (err || info || !user) { + this.logger.error(err?.message || info?.message) + throw new UnauthorizedException(err?.message || info?.message) } return user }