Ошибка CORS при вызове Firebase Cloud Functions - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть следующая облачная функция Привет мир Firebase:

const functions = require('firebase-functions');

// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
exports.helloWorld = functions.https.onRequest((request, response) => {
    response.send("Hello from Firebase!");
});

Затем я вызываю его с веб-страницы, вот так:

<script>
    // Initialize Firebase
    var config = { <config information copy-pasted from firebase console>
    };
    firebase.initializeApp(config);

    let helloWorld = firebase.functions().httpsCallable('helloWorld');
    console.log(helloWorld)
    helloWorld().then(function (result) {

    })
</script>

Однако я получаю следующую ошибку:

Доступ к выборке в (мой URL-адрес функции облака) из источника 'null' был заблокирован политикой CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: отсутствует заголовок 'Access-Control-Allow-Origin' на запрашиваемом ресурсе. Если непрозрачный ответ отвечает вашим потребностям, установите режим запроса «no-cors», чтобы получить ресурс с отключенным CORS.

Я все еще могу получить доступ к конечной точке HTTP напрямую. Что я делаю не так?

Я попробовал следующее после просмотра: Включение CORS в облачных функциях для Firebase :

const functions = require('firebase-functions');
const cors = require('cors')({ origin: true });

// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
exports.helloWorld = functions.https.onRequest((request, response) => {

    return cors(req, res, () => {
        res.status(200).send('Hello World!')
    })
    //response.set('Access-Control-Allow-Origin', '*');
    //response.send("Hello from Firebase!");
});

Но, когда я посещаю конечную точку HTTP, я получаю сообщение об ошибке:

Ошибка: не удалось обработать запрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...