Как сделать tokenUrl настраиваемым - PullRequest
1 голос
/ 11 декабря 2019

Есть ли способ сделать URL-адрес токена в спецификации OpenAPI настраиваемым.

Например, я хочу сделать ниже настраиваемое царство {{REALM_NAME_HERE}} настраиваемым из пользовательского интерфейса Swagger.

  securitySchemes:

    oauth:
      type: oauth2
      description: This API uses OAuth 2
      flows:
        clientCredentials:
          tokenUrl: http://localhost:32777/auth/realms/{{REALM_NAME}}/protocol/openid-connect/token
          scopes: {}

1 Ответ

1 голос
/ 12 декабря 2019

tokenUrl не поддерживает переменные. В репозитории Спецификации OpenAPI есть соответствующий запрос:

https://github.com/OAI/OpenAPI-Specification/issues/551

Однако, если параметризованная часть tokenUrl (в вашем примере - http://localhost:32777/auth/realms/{{REALM_NAME}}) также является URL-адресом сервера API, вы можете определить tokenUrl относительно URL-адреса сервера:

openapi: 3.0.0

servers:
  - url: 'http://localhost:32777/auth/realms/{REALM_NAME}'
    variables:
      REALM_NAME:
        default: some_default_realm   # default value is required

paths:
  ...

components:
  securitySchemes:
    oauth:
      type: oauth2
      description: This API uses OAuth 2
      flows:
        clientCredentials:
          tokenUrl: './protocol/openid-connect/token'
          scopes: {}
...