🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 安全 要确定某个特定操作使用哪个安全机制,使用`@ApiSecurity()`装饰器。 ```TypeScript @ApiSecurity('basic') @Controller('cats') export class CatsController {} ``` 在运行程序前,使用`DocumentBuilder`在基础文档里添加安全定义。 ```TypeScript const options = new DocumentBuilder().addSecurity('basic', { type: 'http', scheme: 'basic', }); ``` 一些最常用的认证机制是内置的(例如`basic`和`bearer`),因此不需要像上面那样手动定义。 ### `Basic`认证 使用`@ApiBasicAuth()`配置basic认证。 ```TypeScript @ApiBasicAuth() @Controller('cats') export class CatsController {} ``` 在运行程序前,使用`DocumentBuilder`在基础文档里添加安全定义。 ```TypeScript const options = new DocumentBuilder().addBasicAuth(); ``` ### Bearer认证 使用`@ApiBearerAuth()`启用bearer认证。 ```TypeScript @ApiBearerAuth() @Controller('cats') export class CatsController {} ``` 在运行程序前,使用`DocumentBuilder`在基础文档里添加安全定义。 ```TypeScript const options = new DocumentBuilder().addBearerAuth(); ``` ### OAuth2认证 使用`@ApiOAuth2()`启用OAuth2认证。 ```TypeScript @ApiOAuth2(['pets:write']) @Controller('cats') export class CatsController {} ``` 在运行程序前,使用`DocumentBuilder`在基础文档里添加安全定义。 ```TypeScript const options = new DocumentBuilder().addOAuth2(); ``` ### Cookie认证 使用`@ApiCookieAuth()`启用cookie认证。 ```TypeScript @ApiCookieAuth() @Controller('cats') export class CatsController {} ``` 在运行程序前,使用`DocumentBuilder`在基础文档里添加安全定义。 ```TypeScript const options = new DocumentBuilder().addCookieAuth('optional-session-id'); ```