Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengkonfigurasi CORS untuk Fungsi Awan Firebase?

Bagaimana untuk Mengkonfigurasi CORS untuk Fungsi Awan Firebase?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-01 14:42:14912semak imbas

How to Configure CORS for Firebase Cloud Functions?

Konfigurasi CORS dalam Cloud Functions for Firebase

Apabila mengakses Cloud Functions for Firebase melalui permintaan AJAX, anda mungkin menghadapi "Tiada 'Akses- Ralat Control-Allow-Origin'" menunjukkan CORS yang tidak betul konfigurasi.

Untuk Cloud Functions v2:

Firebase-functions/v2/https membolehkan anda mendayakan CORS terus dalam definisi fungsi:

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

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

Untuk Fungsi Awan v1:

Dua Sampel yang disediakan Firebase menunjukkan penggunaan CORS:

  • Pelayan masa dengan pemformatan tarikh
  • Titik akhir HTTPS yang memerlukan Pengesahan

Sampel kedua menggunakan pendekatan berbeza daripada yang anda gunakan:

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

exports.fn = functions.https.onRequest((req, res) => {
  cors(req, res, () => {
    // Your function body here
  });
});

Langkah-langkah untuk Selesaikan Isu CORS:

  • Jika menggunakan Firebase Cloud Functions v1, pastikan anda telah mengimport modul cors seperti yang ditunjukkan dalam kod sampel.
  • Gunakan cors(req, res , () => {}) untuk mengendalikan permintaan prapenerbangan CORS.
  • Tetapkan asal: benar dalam konfigurasi cors() untuk membenarkan permintaan daripada mana-mana asal.
  • Jika kod respons seperti 500 atau 403 dikembalikan, cuba tetapkan status respons kepada 200.
  • Sahkan bahawa anda mengakses yang betul URL untuk Fungsi Awan anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi CORS untuk Fungsi Awan Firebase?. 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