From 37ab2ebe18120ef10cb8b3718c9b448fbfdbd350 Mon Sep 17 00:00:00 2001 From: Jeremy Yin Date: Wed, 19 Jun 2019 21:43:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AF=E7=94=A8=E4=B8=80=E4=B8=AA=E7=AE=80?= =?UTF-8?q?=E5=8D=95=E7=9A=84=E5=AE=88=E5=8D=AB=EF=BC=8C=E9=AA=8C=E8=AF=81?= =?UTF-8?q?headers=E4=BF=A1=E6=81=AF=E9=87=8C=E9=9D=A2=E6=9C=89=E6=B2=A1?= =?UTF-8?q?=E6=9C=89x-demo=E7=AD=89=E4=BA=8Esecret=E8=BF=99=E4=B8=AA?= =?UTF-8?q?=E5=80=BC=EF=BC=8C=E6=9C=89=E5=B0=B1=E9=80=9A=E8=BF=87=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E5=B0=B1=E4=B8=8D=E9=80=9A=E8=BF=87=E6=8A=A5403?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/guards/demo-auth.guard.ts | 4 +++- src/modules/posts/posts.controller.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/guards/demo-auth.guard.ts b/src/core/guards/demo-auth.guard.ts index fdf9d4c..87d47af 100644 --- a/src/core/guards/demo-auth.guard.ts +++ b/src/core/guards/demo-auth.guard.ts @@ -6,6 +6,8 @@ export class DemoAuthGuard implements CanActivate { canActivate( context: ExecutionContext, ): boolean | Promise | Observable { - return true; + const request = context.switchToHttp().getRequest(); + + return request.header('x-demo') === 'secret'; } } diff --git a/src/modules/posts/posts.controller.ts b/src/modules/posts/posts.controller.ts index adf98ae..83f71ab 100644 --- a/src/modules/posts/posts.controller.ts +++ b/src/modules/posts/posts.controller.ts @@ -1,10 +1,12 @@ -import { Controller, Get, Post, Req, Query, Headers, Param, Body, HttpException, HttpStatus, ForbiddenException, UseFilters, UsePipes, ValidationPipe, ParseIntPipe } from '@nestjs/common'; +import { Controller, Get, Post, Req, Query, Headers, Param, Body, HttpException, HttpStatus, ForbiddenException, UseFilters, UsePipes, ValidationPipe, ParseIntPipe, UseGuards } from '@nestjs/common'; import { CreatePostDto } from './post.dto'; import { DemoService } from './providers/demo/demo.service' import { DemoFilter } from '../../core/filters/demo.filter' +import { DemoAuthGuard } from '../../core/guards/demo-auth.guard' @Controller('posts') +@UseGuards(DemoAuthGuard) // @UseFilters(DemoFilter) export class PostsController {