如何在 openapi v3 中指定端点的授权是可选的?
How to specify an endpoint's authorization is optional in openapi v3?
我正在尝试记录现有的 API,其中包含各种端点,其身份验证是可选的。也就是说,如果用户获得授权,则返回的数据比未授权时返回的数据更多。
在 OAspec v3 中找不到明确的内容。是否有定义这种情况的编码技巧?
我目前的解决方法是编写授权代码,但在端点的描述中写明授权是可选的。这有效并且似乎足够了。然而,纯粹主义者想知道是否还有其他方法。
我刚了解到 security: 可以有一组哈希映射来满足多种身份验证协议。
两个例子:
security: # protocol A or protocol B
- A
- B
security: protocol A and protocol B
- A
B
要使安全性成为可选的,请将空要求 {}
添加到 security
数组:
security:
- {} # <----
- api_key: []
这意味着可以在安全或不安全的情况下调用端点。
来源:this comment 在 OpenAPI 规范存储库中。
我正在尝试记录现有的 API,其中包含各种端点,其身份验证是可选的。也就是说,如果用户获得授权,则返回的数据比未授权时返回的数据更多。
在 OAspec v3 中找不到明确的内容。是否有定义这种情况的编码技巧?
我目前的解决方法是编写授权代码,但在端点的描述中写明授权是可选的。这有效并且似乎足够了。然而,纯粹主义者想知道是否还有其他方法。
我刚了解到 security: 可以有一组哈希映射来满足多种身份验证协议。
两个例子:
security: # protocol A or protocol B
- A
- B
security: protocol A and protocol B
- A
B
要使安全性成为可选的,请将空要求 {}
添加到 security
数组:
security:
- {} # <----
- api_key: []
这意味着可以在安全或不安全的情况下调用端点。
来源:this comment 在 OpenAPI 规范存储库中。