我有一个匿名护照策略,定义为:
// In anonymous.strategy.ts
import {Strategy} from 'passport-anonymous'
import {PassportStrategy} from '@nestjs/passport'
import {Injectable} from '@nestjs/common'
@Injectable()
export class AnonymousStrategy extends PassportStrategy(Strategy, 'anonymous') {
constructor() {
super()
}
// Request times out unless this function is enabled
// authenticate() {
// return this.success({})
//}
}
然后我在'jwt'一号之后添加到控制器中的AuthGuards()
链中:
@UseGuards(AuthGuard(['jwt', 'anonymous']))
@Post('/posts')
createAd(@Req() req: Request, @Body() createPostDto: CreatePostDto) {
...
}
除非我在策略中启用了authenticate()
功能,否则我无法理解为什么请求超时?毕竟,对于passport-jwt
策略,我不必这样做。我想念什么吗?谢谢。
答案 0 :(得分:0)
当我在成功方法中添加User对象时,它对我有用。
authenticate() {
return this.success(new User());
}