openapi - OpenAPI 3 MicroProfile,在@OpenApiDefinition 中使用@SecurityRequirementSet
问题描述
我正在将 OpenAPI v2 切换到 Open API 3,我们将使用带有 Projects 的 MicroProfile 2.0 作为从代码生成 OAS 的插件。
现在,作为一种授权,我们需要不同的标头。我知道我可以将它们放在每个资源上,这似乎只是很多重复,所以我认为将JaxRSConfiguration
文件作为 a@SecurityScheme
放入并将它们作为安全性添加到@OpenApiDefinition
.
@OpenAPIDefinition(
info = @Info(
...
)
),
security = {
@SecurityRequirement(name = Header1),
@SecurityRequirement(name = Header2)
},
components = @Components(
securitySchemes = {
@SecurityScheme( apiKeyName = Header1 ... ) ,
@SecurityScheme( apiKeyName = Header2 ....)
}),
...
)
这是有效的,但是它会生成一个 OR,而它应该是一个 AND(没有 - )
security:
- Header1: []
- Header2: []
我以为我可以在 中使用@SecurityRequirementsSet
内部安全性@OpenApiDefinition
,但不幸的是这是不允许的。我知道我可以在每次调用或在不同调用的类之上使用它,但由于这仍然是一种重复,我更愿意将它作为一般的身份验证安全性。
有谁知道我怎么能做到这一点?
解决方案
推荐阅读
- linux - Bash 中的单词表生成器
- python - Ruby Integer#chr vs Python chr() 不同的结果
- consul - Consul HTTP 请求获取所有 kv 值
- android - 从 ByteArray 的字符串转换为字符串
- sql - 如何将列转置为行并复制原始列标题?
- javascript - 如何在 Google Apps Scripts 字典中使用数组作为键,并在迭代字典时让它保持其数组结构
- reactjs - 为什么要部署源代码和node_modules?
- angular - 在 Angular 中通过注入(从组件到组件)调用方法不绑定 {{}}
- sql - 查询以获得不同的结果
- laravel - 在laravel中更新关系的关系枢纽