簡體   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