Пишу чванство под спецификацию OAS 3.0.2. И интересно, можно ли установить значение авторизации (BearerAuth) через возвращаемое значение операции.
Теперь мне нужно сначала вызвать api / login, а затем скопировать токен возврата и вставить в панель авторизации. Есть ли лучший способ автоматически связать значение между операцией и безопасностью?
Я пытался использовать Ссылки , но я не уверен, что поддержка по безопасности. (В официальном документе не упоминается способ реализации в целях безопасности)
paths:
/login:
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account:
type: string
password:
type: string
responses:
'200':
description: data.apiToken
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: data
properties:
apiToken:
type: string
description: I need this as authorization value
links:
ApiToken:
operationId: apiToken
parameters:
apiToken: '$response.body#/data.apiToken'
Вход в систему прошел успешно, а тело ответа выглядит так:
{
"data":{
"apiToken": "xxxxxx"
}
}
Но на следующем шаге я понятия не имею, каксделать. Ответ 401, потому что токен не отправляется в заголовках (... я не удивлен).
/someapi:
get:
summary: This API need auth to get data
operationId: apiToken
security:
- BearerAuth: [apiToken]
responses:
'401':
description: Not work
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
Если я копирую / вставляю вручную, он может быть успешно авторизован. Есть ли способ решить эту проблему или просто не поддерживать эту функцию прямо сейчас? Большое вам спасибо.