想象一下,有一个端点既需要访问令牌,又需要请求头形式的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子句应用其内部的证券。