【问题标题】:Authentication for Open API generator开放 API 生成器的身份验证
【发布时间】:2019-03-14 12:08:00
【问题描述】:

如果这个问题已经得到解答,我深表歉意,但我找不到明确的答案。

当前的生成器是否支持身份验证?

我需要生成一个具有 2 种潜在身份验证方式的客户端:

  1. 通过 API 密钥,这意味着一个必需的 api_token 参数。
  2. 通过 OAuth 2 身份验证代码流。

如果有,我该如何使用它?

如果没有,您认为在生成客户端后添加身份验证的最佳方法是什么?

【问题讨论】:

    标签: openapi openapi-generator


    【解决方案1】:

    鉴于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/

    【讨论】:

    • 我们有一个 outstanding ticket 来添加一个特征矩阵(类似于你在 jwt.io 上找到的,也许吧?)。并非所有生成器都支持所有身份验证类型,并且部分实现了 OpenAPI 3.0 安全更改。对于api_keyoauth,大多数生成器都有很大的支持。 OP 的问题的一个复杂性... OpenAPI 规范声明 包含多个方案的安全要求对象要求必须满足所有方案才能授权请求。,这意味着多个模式不是非此即彼的被问到。
    • OP 向 在客户端而不是在服务器端实现 OAuth 2 寻求帮助。
    猜你喜欢
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2014-04-07
    • 2023-01-12
    • 2016-04-24
    • 2015-03-01
    • 2016-04-12
    • 2019-04-07
    相关资源
    最近更新 更多