У меня есть следующее базовое определение openAPI:
openapi: "3.0.0"
info:
description: >-
API which tests service
version: "1.0"
title: Test Service
servers:
- url: /
description: Localhost Server
security:
- bearerAuth: []
paths:
/test:
get:
operationId: app.test
responses:
200:
description: Test
content:
text/plain:
schema:
type: string
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
Пользовательский интерфейс Swagger показывает параметр «Авторизовать», где я помещаю токен JWT без ключевого слова «предъявитель» и нажимаю «Попробовать». Ответ такой:
{
"detail": "No authorization token provided",
"status": 401,
"title": "Unauthorized",
"type": "about:blank"
}
Команда curl имеет правильный заголовок авторизации, который также не работает, если я выполняю ее в терминале.
Однако, если я удалю тег security
из определения OpenAPI, команда «Попробовать», а также команда curl будут работать.
Кто-нибудь знает, в чем может быть проблема? Какая правильная команда curl при использовании схемы безопасности JWT в OpenAPI?