【发布时间】:2019-03-14 12:08:00
【问题描述】:
如果这个问题已经得到解答,我深表歉意,但我找不到明确的答案。
当前的生成器是否支持身份验证?
我需要生成一个具有 2 种潜在身份验证方式的客户端:
- 通过 API 密钥,这意味着一个必需的
api_token参数。 - 通过 OAuth 2 身份验证代码流。
如果有,我该如何使用它?
如果没有,您认为在生成客户端后添加身份验证的最佳方法是什么?
【问题讨论】:
如果这个问题已经得到解答,我深表歉意,但我找不到明确的答案。
当前的生成器是否支持身份验证?
我需要生成一个具有 2 种潜在身份验证方式的客户端:
api_token 参数。如果有,我该如何使用它?
如果没有,您认为在生成客户端后添加身份验证的最佳方法是什么?
【问题讨论】:
鉴于OpenAPI Generator 可以与任何公开OpenAPI 文档的服务器交互,因此首先需要一个使用security scheme term 进行身份验证和授权的OpenAPI 文档。 OpenAPI 3.0(和 2.0)允许您描述两种所需的身份验证方法。
一旦创建了 .yaml 或 .json 格式的 OpenAPI 文档,我相信 Getting Started 指令描述了根据您为身份验证创建的 OpenAPI 文档生成用于身份验证的服务器存根所需的命令流。
例如,如果您的 OpenAPI 文档恰好是 Swagger Petstore example,那么您将“生成”:
npx openapi-generator generate -i petstore.yaml -g ruby -o /tmp/test/
【讨论】:
api_key 和oauth,大多数生成器都有很大的支持。 OP 的问题的一个复杂性... OpenAPI 规范声明 包含多个方案的安全要求对象要求必须满足所有方案才能授权请求。,这意味着多个模式不是非此即彼的被问到。