Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mendayakan CORS dalam Firebase Cloud Functions (v1 & v2)?

Bagaimana untuk Mendayakan CORS dalam Firebase Cloud Functions (v1 & v2)?

DDD
DDDasal
2024-12-09 14:06:11578semak imbas

How to Enable CORS in Firebase Cloud Functions (v1 & v2)?

Mendayakan CORS dalam Cloud Functions untuk Firebase

Apabila cuba memanggil Cloud Function daripada permintaan AJAX, pembangun sering menghadapi "Tiada 'Akses -Control-Allow-Origin'" ralat. Isu ini berpunca daripada penyekatan silang asal, yang melarang akses kepada fungsi daripada asal selain daripada yang menciptanya.

Untuk menyelesaikan isu ini, Firebase menyediakan pilihan untuk mendayakan CORS dalam kedua-dua Cloud Functions versi 1 dan 2 .

Cloud Functions v2

Untuk Fungsi Cloud v2, CORS boleh didayakan terus dalam definisi fungsi. Kod berikut menunjukkan cara untuk mencapai ini:

const { onRequest } = require("firebase-functions/v2/https");

exports.sayHello = onRequest({ cors: true }, (req, res) => {
  res.status(200).send("Hello world!");
});

Cloud Functions v1

Untuk Cloud Functions v1, Firebase menyediakan contoh fungsi yang menunjukkan penggunaan CORS. Sampel ini mempamerkan pendekatan alternatif untuk bekerja dengan CORS.

Satu pendekatan melibatkan pengimportan CORS seperti berikut:

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

Bentuk umum fungsi yang menggunakan pendekatan ini akan serupa dengan:

exports.fn = functions.https.onRequest((req, res) => {
  cors(req, res, () => {
    // function body using req and res provided by cors
  });
});

Dengan menggunakan kaedah ini, pembangun boleh mendayakan CORS dalam Fungsi Awan dengan lancar, membolehkan fungsi mereka boleh diakses dari asal luar.

Atas ialah kandungan terperinci Bagaimana untuk Mendayakan CORS dalam Firebase Cloud Functions (v1 & v2)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn