[英]Nest.js use custom value in the request object
我創造了一個像這樣的守衛
import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
import { AuthService } from './auth.service';
@Injectable()
export class CompanyGuard implements CanActivate {
constructor(private readonly authService: AuthService) {}
async canActivate(context: ExecutionContext): Promise<boolean> {
const request = context.switchToHttp().getRequest();
const token = request.headers['token'];
if (token) {
const company = await this.authService.validateToken(token);
return company ? true : false;
} else {
return false;
}
}
}
我想在請求 object 上保留公司的價值,以便稍后在我的 controller 上使用它。 如何在 Nest.js 中做到這一點? 我試圖在文檔上查看它,但我很困惑。 我應該使用session還是有更簡單的方法可以做到這一點?
您可以將company
添加到請求的自定義字段中。 request.company = company
然后在 controller 中,您可以使用@Req()
獲取請求 object 和.company
以獲取公司價值。 或者您可以創建一個自定義裝飾器來為您獲取公司。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.