安全 Security

导读

要定义应该对特定操作使用哪种安全机制,请使用 @ApiSecurity() 装饰器。

ts
@ApiSecurity('basic')
@Controller('cats')
export class CatsController {}

在运行应用程序之前,请记住使用DocumentBuilder将安全定义添加到基础文档中:

ts
const options = new DocumentBuilder().addSecurity('basic', {
  type: 'http',
  scheme: 'basic',
})

一些最流行的身份验证技术是内置的(例如 basicbearer),因此您不必像上面所示那样手动定义安全机制。

基本身份验证

要启用基本身份验证,请使用 @ApiBasicAuth()

ts
@ApiBasicAuth()
@Controller('cats')
export class CatsController {}

在运行应用程序之前,请记住使用DocumentBuilder将安全定义添加到基础文档中:

ts
const options = new DocumentBuilder().addBasicAuth()

Bearer 身份验证

要启用 Bearer 身份验证,请使用 @ApiBearerAuth()

ts
@ApiBearerAuth()
@Controller('cats')
export class CatsController {}

在运行应用程序之前,请记住使用DocumentBuilder将安全定义添加到基础文档中:

ts
const options = new DocumentBuilder().addBearerAuth()

OAuth2 身份验证

要启用 OAuth2,请使用 @ApiOAuth2()

ts
@ApiOAuth2(['pets:write'])
@Controller('cats')
export class CatsController {}

在运行应用程序之前,请记住使用DocumentBuilder将安全定义添加到基础文档中:

ts
const options = new DocumentBuilder().addOAuth2()

To enable cookie authentication, use @ApiCookieAuth().

ts
@ApiCookieAuth()
@Controller('cats')
export class CatsController {}

在运行应用程序之前,请记住使用DocumentBuilder将安全定义添加到基础文档中:

ts
const options = new DocumentBuilder().addCookieAuth('optional-session-id')