Как решить проблему COR с помощью Google Cloud Function? - PullRequest
0 голосов
/ 06 февраля 2020

Я много исследовал это и не могу найти простой ответ. Я просто пытаюсь создать облачную функцию https Google, которая принимает входящий POST, а затем внутренне совершает какой-то топор ios HTTP graphQL-вызов.

Вот функция Gloud.

 const axios = require('axios');
 const functions = require('firebase-functions');
 const cors = require('cors')({ origin: true });
 const admin = require('firebase-admin');
 import { graphURL } from '../settings';

 export default functions.https.onRequest(async (request, response) => {

  cors(request, response, async () => { });

  const idToken = request.body.idToken;
  const firstname = request.body.firstname;
  const lastname = request.body.lastname;

  var claims =  await admin.auth().verifyIdToken(idToken);

  var dbquery = `query MyQuery {
  Databases(where: {acceptingNewClients: {_eq: true}}, order_by: {zonecount: asc}) {
   graphserver
   dbid
   zonecount
   acceptingNewClients
   }
}`      
   var result = await axios({
      url: graphURL,
      headers: {'Content-Type': 'application/json' },
      method: 'post',
     data: {
      query: dbquery
        }
   }).catch(error => {
      return error;
   })

Когда я вызываю это, я постоянно получаю сообщение об ошибке "Доступ к XMLHttpRequest в" https://us-central1-graceblocks-4efeb.cloudfunctions.net/httpsAddUser "от источника" http://localhost: 3000 ' была заблокирована политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». "

Может кто-нибудь помочь мне точно определить, какой синтаксис мне нужен, чтобы избавиться от этого CORS ошибка?

...