From d7d92d78dc89aee6e29372e7cde84841b75e9146 Mon Sep 17 00:00:00 2001 From: John Joshua Ferrer Date: Wed, 23 Mar 2022 12:36:08 +0800 Subject: [PATCH] Check for http request for resource and role (#121) --- src/guards/auth.guard.ts | 2 +- src/guards/resource.guard.ts | 5 +++++ src/guards/role.guard.ts | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/guards/auth.guard.ts b/src/guards/auth.guard.ts index d9d70e6..bddb41b 100644 --- a/src/guards/auth.guard.ts +++ b/src/guards/auth.guard.ts @@ -62,7 +62,7 @@ export class AuthGuard implements CanActivate { if (!request) { return true; } - + const jwt = this.extractJwtFromCookie(request.cookies) ?? this.extractJwt(request.headers); diff --git a/src/guards/resource.guard.ts b/src/guards/resource.guard.ts index 2028944..913269d 100644 --- a/src/guards/resource.guard.ts +++ b/src/guards/resource.guard.ts @@ -98,6 +98,11 @@ export class ResourceGuard implements CanActivate { // Extract request/response const [request, response] = extractRequest(context); + // if is not an HTTP request ignore this guard + if (!request) { + return true; + } + if (!request.user && isUnprotected) { this.logger.verbose(`Route has no user, and is public, allowed`); return true; diff --git a/src/guards/role.guard.ts b/src/guards/role.guard.ts index ccd4cc9..2bba56f 100644 --- a/src/guards/role.guard.ts +++ b/src/guards/role.guard.ts @@ -56,6 +56,11 @@ export class RoleGuard implements CanActivate { const [request] = extractRequest(context); const { accessTokenJWT } = request; + // if is not an HTTP request ignore this guard + if (!request) { + return true; + } + if (!accessTokenJWT) { // No access token attached, auth guard should have attached the necessary token this.logger.warn(