NestJs挂在Passport Anonymous策略上

时间:2019-12-03 04:56:08

标签: nestjs nestjs-passport

我有一个匿名护照策略,定义为:

// 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策略,我不必这样做。我想念什么吗?谢谢。

1 个答案:

答案 0 :(得分:0)

当我在成功方法中添加User对象时,它对我有用。

  authenticate() {
    return this.success(new User());
  }