options.AddSecurityRequirement(new OpenApiSecurityRequirement { { security, new List<string>() } });
时间: 2024-10-13 10:11:31 浏览: 16
在OpenAPI(原Swagger)中,`options.AddSecurityRequirement`是一个方法用于添加安全需求到API描述文档中。这个方法接受一个`OpenApiSecurityRequirement`类型的参数,该参数定义了应用程序的认证和授权策略。
`OpenApiSecurityRequirement`包含一个属性`{ security, new List<string>() }`,这里的`security`是一个键值对,键是一个字符串数组,表示一个特定的安全模式(如`Bearer`或`apiKey`等)。值则是另一个数组,它包含了允许访问此资源的访问令牌列表(通常是OAuth 2.0令牌名称)。
举例来说,如果你的应用程序需要`Bearer`类型的token,并且只接受名为`token1`和`token2`的两个令牌才能访问某个路径或操作,你会这样配置:
```csharp
var requirement = new OpenApiSecurityRequirement();
requirement.AddScheme("bearer", "Bearer", new OpenApiSecurityScheme
{
Type = SecuritySchemeType.Http,
BearerFormat = "JWT"
});
requirement.Schemes["bearer"].AuthorizationUrl = "your_authorization_url";
var options = new OpenApiDocumentOptions
{
Security = new[] { requirement },
// 其他选项...
};
options.AddSecurityRequirement(requirement);
```
阅读全文