Heim >Web-Frontend >js-Tutorial >Wie aktiviere ich CORS für Firebase Cloud Functions?

Wie aktiviere ich CORS für Firebase Cloud Functions?

DDD
DDDOriginal
2024-12-03 03:33:09137Durchsuche

How to Enable CORS for Firebase Cloud Functions?

Aktivieren von CORS für Cloud Functions für Firebase

Beim Versuch, über eine AJAX-Anfrage auf eine Cloud Function für Firebase zuzugreifen, stoßen Benutzer möglicherweise auf die Meldung „ Kein „Access-Control-Allow-Origin“-Fehler. Dies liegt an der fehlenden CORS-Konfiguration (Cross-Origin Resource Sharing). Um dieses Problem zu beheben, muss CORS innerhalb der Funktion aktiviert werden.

Lösung für Cloud Functions v2:

Cloud Functions v2 bietet eine unkomplizierte Lösung durch die Integration von CORS in die Funktion Definition:

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

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

Lösung für Cloud-Funktionen v1:

Für Cloud Functions v1 demonstrieren zwei vom Firebase-Team bereitgestellte Beispielfunktionen die CORS-Verarbeitung. Das zweite Beispiel verwendet eine andere Methode:

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

exports.fn = functions.https.onRequest((req, res) => {
  cors(req, res, () => {
    // Implement the function body here using the provided req and res from CORS
  });
});

Zusätzliche Hinweise:

  • Wenn die Funktion einen 500-Fehlercode zurückgibt, versucht Axios/jQuery es abhängig davon erneut auf die Konfiguration. Ändern Sie den Statuscode in 200.
  • Stellen Sie sicher, dass die Endpunkt-URL das erwartete Schema (d. h. https://) aufweist und mit dem Origin-Header in der Anfrage übereinstimmt.

Das obige ist der detaillierte Inhalt vonWie aktiviere ich CORS für Firebase Cloud Functions?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn