В дополнение к Бен.Решение Ayoub может стоить изучить функции HTTPS Callable , если только ваше приложение пытается установить связь с функцией и не является частью более широкого внешнего API.
Они работают аналогично конечным точкам HTTPS, но избавляют от головной боли CORS.
import * as functions from 'firebase-functions';
export const listener = functions.https.onCall((data, context) => {
if (data) {
throw new functions.https.HttpsError('invalid-argument');
}
return {
some: 'json',
};
}
Вам не нужно использовать параметры request
и response
, как в облачной функции конечной точки HTTP.
Он принимает JSON как context
и возвращает простой объект JSON.
Редактировать
Чтобы ответить на исходный вопрос, облачные функции могут использоватьCORS
import * as functions from 'firebase-functions';
const cors = require('cors')({ origin: true });
export const listener = functions.https.onRequest((req, res) => {
cors(req, res, () => {
return;
});
// cloud function logic
res.json({ some: 'json' });
});