flutter Firebase身份验证页返回空白页

zujrkrfu  于 7个月前  发布在  Flutter
关注(0)|答案(1)|浏览(80)

我有一个带有NavigationRail的Web应用程序。我正在尝试实现Firebase身份验证,但到目前为止无法使其工作。
如果你能帮忙的话,我将不胜感激。
这是我的AuthPage。

import 'package:bdkakademi/desktop/desktop_homepage.dart';
import 'package:bdkakademi/desktop/desktop_login_page.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';

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

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        StreamBuilder<User?>(
          stream: FirebaseAuth.instance.authStateChanges(),
          builder: (context, snapshot) {
            if (snapshot.hasData) {
              return const DesktopHomePage();
            } else {
              return Column(
                children: [
                  DesktopLoginPage(
                    emailController: TextEditingController(),
                    passwordController: TextEditingController(),
                  ),
                ],
              );
            }
          },
        )
      ],
    );
  }
}

字符串
你知道我该怎么做吗?

zyfwsgd6

zyfwsgd61#

您可以使用名为dart_secure(https://pub.dev/packages/dart_secure)的软件包
这个包在监视用户身份验证状态时很有用,只需在项目中获取该包并使用方法“userAuthMonitor()”
以下是如何使用此功能:的示例:

import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:dart_secure/dart_secure.dart';
void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: userAuthMonitor(
        authenticatedUserPage: HomePage(),
        unAuthenticatedUserPage: LoginPage(),
        adminUID: 'your_admin_uid_here',
        adminPage: AdminPage(),
        blockUID: ['blocked_user_uid_1', 'blocked_user_uid_2'],
        userBlockedPage: UserBlockedPage(),
      ),
    );
  }
}

// Define your pages/widgets here (HomePage, LoginPage, AdminPage, UserBlockedPage).

字符串
我希望这是有帮助的,你可以在https://pub.dev/packages/dart_secure探索更多

相关问题