如何使端点在AND的基础上需要多个安全定义?



想象一下,有一个端点既需要访问令牌,又需要请求头形式的api密钥。

目前,我已经概述了端点的两个安全定义,但是UI以"或"的方式识别它们。基-意思是如果两者中的任何一个被填满,它就是好的。

我想将其更改为基于AND的,这样当有问题的端点需要这两个授权时-都需要定义才能工作。

谢谢!

不声明两个单独的OpenApiSecurityRequirement对象,只需声明一个,并在字典中包含这两个证券。

例如:

operation.Security = new List<OpenApiSecurityRequirement>
{
new OpenApiSecurityRequirement
{
[ apiKeyScheme ] = Array.Empty<string>(),
[ bearerTokenScheme ]  = Array.Empty<string>()
}
};

(其中的任何键值对都以AND为基础应用),而不是

operation.Security = new List<OpenApiSecurityRequirement>
{
new OpenApiSecurityRequirement
{
[ apiKeyScheme ] = Array.Empty<string>()
},
new OpenApiSecurityRequirement
{
[ bearerTokenScheme ]  = Array.Empty<string>()
}
};

基本上单独的需求通过OR子句应用,而需求本身通过AND子句应用其内部的证券。

最新更新