在 Web 上使用 Flutter 和 firebase_auth 时出现错误

问题描述 投票:0回答:1

我希望这篇文章能让你满意。

我在 Flutter 中使用 Firebase 时遇到问题。我很新,所以如果这是一个明显的问题,我深表歉意。我按照 Firebase 官方网站的说明进行操作:

https://firebase.google.com/docs/flutter/setup?platform=web

它们并没有那么复杂,我做了两次来尝试解决问题,所以我不太可能错过任何一个。这就是代码,如您所见,非常简单。

import 'package:edinburgh/main_page.dart';
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_auth/firebase_auth.dart';

import 'firebase_options.dart';

void main() async {
  
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,

  
);


  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
        useMaterial3: true,
      ),
      home: MainPage(),
    );
  }
}

它在 Android 上运行良好,但在网络上我收到此错误,但我在互联网上找不到。

线路:

FirebaseAuth.instance

错误:

Expected a value of type 'JavaScriptObject', but got one of type 'Null'.
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 294:3 throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 127:3 castError
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 818:12 cast
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/classes.dart 652:14 as_C
dart-sdk/lib/_internal/js_shared/lib/js_util_patch.dart 81:5 getProperty
packages/firebase_auth_web/src/interop/auth.dart 314:54 get currentUser
packages/firebase_auth_web/firebase_auth_web.dart 167:50 get currentUser
packages/firebase_auth_web/firebase_auth_web.dart 264:11 authStateChanges
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 331:40 runBody
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 162:18 handleValue
dart-sdk/lib/async/future_impl.dart 846:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 875:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 647:5 [_completeWithValue] [_completeWithValue] _propagateToListeners
dart-sdk/lib/async/future_impl.dart 721:7 callback
dart-sdk/lib/async/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 181:7 <fn> _startMicrotaskLoop*

如果有人可以帮助我并告诉我发生了什么事,我将非常感激。

我尝试启动一个新的 flutter 项目,保持简单并遵循 firebase 文档。没有成功。 Flutter doctor 不会抛出任何错误,并且 dart 和 flutter 似乎都是最新的。

flutter firebase firebase-authentication flutter-dependencies
1个回答
0
投票

您是否使用 flutterfire configure 来设置 firebase ?如果是,您是否检查过您是否已在

firebase_options.dart
中设置了网络平台的凭据?

await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform

当您为 Android 构建时

currentPlatform
firebase_options.dart

中获取 Android 凭据

它不适用于网络,因为此平台可能缺少 FirebaseOptions。

© www.soinside.com 2019 - 2024. All rights reserved.