繁体   English   中英

Firebase UI Auth 处理来自 SignInScreen (Flutter) 隐式导航的注册操作

[英]Firebase UI Auth handle Registration action from implicit navigation from SignInScreen (Flutter)

我有一个来自SignInScreen小部件的登录屏幕,如下所示。

在此处输入图像描述

但是,如果用户没有帐户,他可以通过单击屏幕上的“注册”来注册自己,这将引导我进入此页面:

在此处输入图像描述

在文档中称为内部导航: https://github.com/firebase/flutterfire/blob/master/packages/flutterfire_ui/doc/auth/integrating-your-first-screen.md#disabling-internal-navigation

我现在遇到的问题是一旦用户注册,用户没有收到任何他的帐户已成功注册的通知,应用程序也不会自动将他重定向到 email 验证甚至返回登录页面。

如何处理来自 SignInScreen 小部件的注册操作?

下面是我为 SignInScreen 小部件编写的代码:

import 'package:firebase_ui_auth/firebase_ui_auth.dart';
import 'package:flutter/material.dart';

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

  @override
  Widget build(BuildContext context) {
    return SignInScreen(
      actions: [
        AuthStateChangeAction<SignedIn>((context, state) {
          if (!state.user!.emailVerified) {
            Navigator.pushNamed(context, '/verify-email');
          } else {
            Navigator.pushReplacementNamed(context, '/profile');
          }
        }),
      ],
    );
  }
}

通过重建我的应用程序而不是使用热重载来解决它,但不确定为什么会发生。

我遇到过类似的行为——实际上是由于错误(注册后未触发 AuthStateChangeAction),最近才解决(firebase_ui_auth 版本 1.1.8 刚刚发布)。

也可以通过直接监听 Firebase 身份验证实例来解决这个问题,但现在不再需要了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM