Как сгенерировать заголовок авторизации (строковая переменная) в интерфейсе API с помощью объекта схемы безопасности Oauth в коде OpenApi3.0.2 swagger? - PullRequest
0 голосов
/ 22 января 2020

Инструменты: зависимость Swagger для OpenApi 3.0.2 maven:

<groupId>io.swagger.codegen.v3</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>3.0.16</version>

язык: jaxrs-cxf

Использование последних шаблонов, извлеченных из здесь

Я определил свой объект oauth в своих спецификациях и назначил его методу:

paths:
  /endpoint:
    method:
      operationId: functionName
      security:
        - oauthSample:
          - aScope

components:
  securitySchemes:
    oauthSample:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: {someurl}
          tokenUrl: {someurl}
          refreshUrl: {someurl}
          scopes:
            aScope: a scope

Я ожидаю, что в сгенерированном коде Java будет иметь:

functionName(other params of the endpoint function, @HeaderParam("Authorization") String var4, ...)

Кроме нет ничего связанного с этим сгенерированным объектом безопасности. Обходным путем может быть также добавление заголовка авторизации в безопасности конечной точки. Но тогда определение схемы безопасности oauth бесполезно (с точки зрения сгенерированного кода) и вводит в заблуждение (с точки зрения спецификаций, поскольку будет и аутентификация oauth и авторизация / Basi c через схему заголовка Authorization).

Я что-то упустил?

Я открыл проблему здесь , за исключением того, что это для openapitools, а не для swagger v3 (потому что openapitools, очевидно, является развилкой swagger v2 и способом продвижения вперед) , Но я был бы счастлив иметь реальную поддержку объектов безопасности, будь то на одном или другом:)

...