Gcp app engine flex конечные точки openapi CORS - PullRequest
0 голосов
/ 08 ноября 2018

Ошибка при попытке отправить ОПЦИИ на сервер. Ошибка:

{
    "code": 7,
    "message": "The service does not allow CORS traffic.",
    "details": [
        {
            "@type": "type.googleapis.com/google.rpc.DebugInfo",
            "stackEntries": [],
            "detail": "service_control"
        }
    ]
}

Я получаю нормальный ответ, если отправляю запрос GET (через почтальона).

Сервер узла использует KOA.js с включенными cors

app.use(cors());

работает без конечных точек, поэтому я не думаю, что может быть проблема с сервером.

app.yaml

runtime: nodejs
env: flex

env_variables:
  NODE_ENV: "dev"

handlers:
- url: /
  static_dir: /
  http_headers:
    Access-Control-Allow-Origin: '*'

endpoints_api_service:
  name: ******.appspot.com
  rollout_strategy: managed

OpenAPI-appengine.yaml

swagger: "2.0"
info:
  description: "A simple Google Cloud Endpoints API example."
  title: "Endpoints Example"
  version: "1.0.0"
host: "******.appspot.com"
x-google-endpoints:
- name: "******.appspot.com"
  allowCors: "true"
x-google-allow: all

paths:
  /api/user:
    get:
      operationId: "getcurrentuser"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            type: "object"
      security:
      - firebase: []

securityDefinitions:
  firebase:
    authorizationUrl: ""
    flow: "implicit"
    type: "oauth2"
    x-google-issuer: "https://securetoken.google.com/******"
    x-google-jwks_uri: "https://www.googleapis.com/service_accounts/v1/metadata/x509/securetoken@system.gserviceaccount.com"
    x-google-audiences: "******,******"

1 Ответ

0 голосов
/ 10 ноября 2018

Какой путь вы использовали при отправке ОПЦИИ? "/" или "/ api / user"?

Из вашего Swagger вы только настраиваете путь "/ api / user", поэтому OPTIONS работает только для этого пути.

...