如何在openapi v3中指定端点的授权是可选的?

时间:2017-12-05 17:26:08

标签: openapi

我正在尝试记录包含其身份验证是可选的各种端点的现有API。也就是说,如果用户被授权,则返回的数据多于未授权用户的数据。

无法在OAspec v3中明确找到。是否有编码技巧来定义这种情况?

我目前的解决方法是编写授权代码,但在端点描述中写入授权是可选的。这工作似乎已经足够了。然而,我的纯粹主义者想知道是否还有另一种方式。

2 个答案:

答案 0 :(得分:2)

要使安全性可选,请向{}数组添加空需求security

security:
  - {}   # <----
  - api_key: []

这意味着可以使用或不使用安全性来调用端点。

源代码:OpenAPI规范存储库中的this comment

答案 1 :(得分:1)

我刚学会了安全性:可以有一组哈希映射,可以满足多种身份验证协议。

两个例子:

security: # protocol A or protocol B
    - A
    - B

security: protocol A and protocol B
    - A
      B