每当我在vs代码和热重新加载中更改代码时,我的Flutter web应用程序都会注销



我在Flutter Web应用程序上使用Firebase身份验证,但在热重启或chrome刷新后,会话不会持久化。

在安卓系统中,它可以正常工作,但在热重新加载或chrome刷新用户注销后,在网络应用程序中可以正常工作。

在谷歌上搜索了大约12个多小时后,我仍然没有找到解决方案。

也遵循这个答案@frankvanpuffelen的解决方案,但仍然面临同样的问题。

这张罚单仍未解决。

如果可能,请运行以下代码。

我期待着你的回答。

这是我在main.dart 中的代码

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  runApp(const AuthGate());
}
class AuthGate extends StatelessWidget {
  const AuthGate({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: StreamBuilder<User?>(
        stream: FirebaseAuth.instance.authStateChanges(),
        builder: (BuildContext context, AsyncSnapshot<User?> snapshot) {
          if (!snapshot.hasData) {
            return const FlutterFireUiLogin();
          } else {
            return const Text("You are Logged In");
          }
        },
      ),
    );
  }
}

这是我的flutterfire_ui_login.dart

import 'package:flutter/material.dart';
import 'package:flutterfire_ui/auth.dart';
class FlutterFireUiLogin extends StatelessWidget {
  const FlutterFireUiLogin({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Container(
        padding: const EdgeInsets.all(20),
        child: SignInScreen(
          providerConfigs: const [
            EmailProviderConfiguration(),
            PhoneProviderConfiguration(),
          ],
        ),
      ),
    );
  }
}

这是我的pubspec.yaml

version: 1.0.0+1
environment:
  sdk: ">=2.17.6 <3.0.0"
dependencies:
  flutter:
    sdk: flutter
  authentication_repository:
    path: packages/authentication_repository
  form_inputs:
    path: packages/form_inputs  
  cupertino_icons: ^1.0.2
  firebase_auth: ^3.5.0
  firebase_core: ^1.20.0
  equatable: ^2.0.3
  cloud_firestore: ^3.4.0
  flutter_bloc: ^8.0.1
  firebase_storage: ^10.3.3
  rxdart: ^0.27.5
  formz: any
  meta: any
  very_good_analysis: any
  flow_builder: any
  google_fonts: ^3.0.1
  flutterfire_ui: ^0.4.3
  font_awesome_flutter: ^10.1.0
  google_sign_in: ^5.4.0
  google_sign_in_web: ^0.10.2
  http: ^0.13.4
  path: ^1.8.1
  csv: ^5.0.1
  provider: ^6.0.3
  flutter_lints: ^1.0.4
  
dev_dependencies:
  flutter_test:
    sdk: flutter
  mocktail: ^0.3.0  

颤振刮刀

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.0.5, on Microsoft Windows [Version 10.0.22000.795], locale en-IN)
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[√] Chrome - develop for the web
[!] Visual Studio - develop for Windows (Visual Studio Build Tools 2019 16.11.8)
    X The current Visual Studio installation is incomplete. Please reinstall Visual Studio.
[√] Android Studio (version 2020.3)
[√] IntelliJ IDEA Community Edition (version 2021.2)
[√] VS Code (version 1.69.2)
[√] Connected device (3 available)
[√] HTTP Host Availability
! Doctor found issues in 1 category.

此修复程序刚刚在最新版本3.6.0中发布。

相关内容

最新更新