在火力web应用指南规定我应该把给定的apiKey在我的HTML初始化火力点:
// TODO: Replace with your project's customized code snippet
<script src="https://www.gstatic.com/firebasejs/3.0.2/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: '<your-api-key>',
authDomain: '<your-auth-domain>',
databaseURL: '<your-database-url>',
storageBucket: '<your-storage-bucket>'
};
firebase.initializeApp(config);
</script>
Run Code Online (Sandbox Code Playgroud)
通过这样做,apiKey暴露给每个访客.这把钥匙的目的是什么,它真的是公开的吗?
我有一个带有 FlutterFire 的功能齐全的 Flutter 应用程序,其中 android 包工作得很好,但 Web 客户端在启动时给出了一个奇怪的错误。我也无法使用 flutterfire 调用任何 firebase 函数。(简单的 firebase 查询就可以了)
\n启动时或尝试调用时的错误消息FirebaseFunctions.instance.httpsCallabe(\'...:
:1337/dart_sdk.js:7025 Uncaught (in promise) Error: [firebase_messaging/failed-service-worker-registration] Messaging: \nWe are unable to register the default service worker. \nFailed to register a ServiceWorker for scope (\'http://localhost:1337/firebase-cloud-messaging-push-scope\') with script (\'http://localhost:1337/firebase-messaging-sw.js\'): The script has an unsupported MIME type (\'text/html\'). .\n at Object.throw_ [as throw] (:1337/dart_sdk.js:5334)\n at firebase_messaging_web.FirebaseMessagingWeb.new.getToken (:1337/packages/firebase_messaging_web/firebase_messaging_web.dart.lib.js:112)\n at getToken.throw (<anonymous>)\n at :1337/dart_sdk.js:39038\n at _RootZone.runBinary (:1337/dart_sdk.js:38894)\n at _FutureListener.thenAwait.handleError (:1337/dart_sdk.js:33887)\n at handleError (:1337/dart_sdk.js:34451)\n at Function._propagateToListeners …Run Code Online (Sandbox Code Playgroud)