要定义应该对特定操作使用哪种安全机制,请使用 @ApiSecurity()
装饰器。
ts
@ApiSecurity('basic')
@Controller('cats')
export class CatsController {}
在运行应用程序之前,请记住使用DocumentBuilder
将安全定义添加到基础文档中:
ts
const options = new DocumentBuilder().addSecurity('basic', {
type: 'http',
scheme: 'basic',
})
一些最流行的身份验证技术是内置的(例如 basic
和 bearer
),因此您不必像上面所示那样手动定义安全机制。
基本身份验证
要启用基本身份验证,请使用 @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()
Cookie authentication
To enable cookie authentication, use @ApiCookieAuth()
.
ts
@ApiCookieAuth()
@Controller('cats')
export class CatsController {}
在运行应用程序之前,请记住使用DocumentBuilder
将安全定义添加到基础文档中:
ts
const options = new DocumentBuilder().addCookieAuth('optional-session-id')