[英]Flutter Web/Dart CORS Error with Firebase Hosting
我在 Flutter Web 中編寫了一個應用程序。 當我在瀏覽器(調試)中運行它時,出現此錯誤:
cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://www.googleapis.com/identityto...
當我在發布模式下運行它時,我得到了這個:
Error while fetching an original source: NetworkError when attempting to fetch resource.
Source URL: org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/js_helper.dart
根據此文檔或此問題,我必須使用 Expressjs 添加一些內容,例如:
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors({ origin: true }));
似乎確實,CORS 阻止您使用 Firebase 來存儲和訪問數據。 根據文檔配置跨域資源共享(CORS) :
跨源資源共享 (CORS) 是一種允許來自不同來源的資源之間進行交互的機制,這通常是為了防止惡意行為而被禁止的。
考慮到這一點,您需要配置您的工作並接受通過 HTTP 發出的請求。 我建議您查看上述文檔和以下鏈接,以便獲得更多相關信息。
配置它們后,您不應再面臨這兩個錯誤,因為通過 HTTP 的請求將通過 CORS 進行授權,並且應該建立對 Firebase 的訪問。
如果這些信息對您有幫助,請告訴我!
所以我和你一樣,並不真的想創建 Cloud Functions 來解決這個問題。 我發現可以在 firebase 上編輯 CORS 配置。 這很復雜:
您需要安裝 gsutil,對其進行授權,然后編輯 CORS 配置。
您可以在官方 firebase 頁面上找到更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.