Я получаю ошибку проверки для следующего файла openApi.json, который я пытаюсь настроить, чтобы использовать JWT-аутентификацию для моей службы «Конечные точки» в Google Cloud. Я следую этому руководству - https://cloud.google.com/endpoints/docs/openapi/service-account-authentication#configure_auth. Ошибка может быть легко воспроизведена путем вставки и проверки моего образца с использованием Swagger online parser . Сообщение об ошибке:
Swagger schema validation failed.
Expected type object but found type string at #/paths//my/api/get/responses/200/description/securityDefinitions/mySecurityDefinition/x-google-jwks_uri/x-google-issuer/type/flow/authorizationUrl/security/0
JSON_OBJECT_VALIDATION_FAILED
Я бы хотел понять, почему я получаю сообщение Expected type object but found type string
. Сообщение об ошибке выглядит так, как будто оно жалуется на определение безопасности, но я не понимаю, почему.
openapi.json
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": "my-app-hostname.appspot.com"
},
"host": "my-app-hostname.appspot.com",
"basePath": "/api",
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"security" : [
"mySecurityDefinition"
],
"securityDefinitions": {
"mySecurityDefinition": {
"authorizationUrl": "",
"flow": "implicit",
"type": "oauth2",
"x-google-issuer": "myServiceAccountEmailAddress",
"x-google-jwks_uri": "https://www.googleapis.com/robot/v1/metadata/x509/myServiceAccountEmailAddress"
}
},
"paths": {
"/my/api": {
"get": {
"responses": {
"200": {
"description": "A successful response"
}
}
}
}
}
}
Что я делаю не так? Если я изменю 1-й объект в массиве security
на этот, он не будет проверен, но парсер не выдаст сообщение об ошибке:
"security" : [
{
"mySecurityDefinition": [ ]
}
],