gpt4 book ai didi

node.js - 用于特定 Controller 路由的 NestJS CSRF

转载 作者:行者123 更新时间:2023-12-05 07:09:25 29 4
gpt4 key购买 nike

我只想将 csrf 用于 Controller 而不是整个应用程序。

@UsePipes(new CsrfPipe())
import { PipeTransform, Injectable, ArgumentMetadata } from '@nestjs/common';
import * as csrf from 'csurf';

@Injectable()
export default class CsrfPipe implements PipeTransform {
transform(value: any, metadata: ArgumentMetadata) {
if (metadata.type == 'body') {
const csrfProtection = csrf({ cookie: true });
csrfProtection(); // what shall I do here ?
}

return value;
}
}

最佳答案

试试这个

export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
//Apply csrf for specific routes
consumer.apply(csrf({ cookie: true })).forRoutes(
{ path: 'auth/login', method: RequestMethod.POST },
{
path: 'auth/csrf',
method: RequestMethod.GET,
},
);
}
}

关于node.js - 用于特定 Controller 路由的 NestJS CSRF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61572248/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com