簡體   English   中英

Flutter Web Firebase Auth 的持久性在 PWA 上不起作用

[英]Flutter Web Firebase Auth's persistence doesn't work on PWA

我開發了一個 Flutter Web 應用程序,它使用 Firebase 身份驗證來讓用戶登錄該應用程序。

我已經聲明了 Firebase 身份驗證持久性字段,這樣當用戶重新訪問 Flutter Web 應用程序的 URL 時,應用程序將記住並自動登錄用戶,並且不需要在他每次啟動 URL 時重新登錄。

在常規瀏覽器上一切正常,但是當用戶生成 PWA(例如,在 iOS 設備上單擊“添加到主屏幕”將網站另存為 PWA)時,持久性功能停止工作,用戶需要每次他打開 PWA 時都重新登錄。

有沒有辦法將 Firebase 身份驗證的持久性功能添加到 PWA? 如果沒有,是否有辦法防止生成 PWA(例如,當單擊 iOS 上的“添加到主屏幕”按鈕時,將 Flutter Web 應用程序保存為常規瀏覽器 URL)?

謝謝!

為了解決持久化問題,添加一個監聽器:

FirebaseAuth.instance.idTokenChanges().listen((User? user) async {
  if (user == null) {
    // Function for user not logged in here. Do not write function to change page here.
  } else {
    // As it's a Future it will take a while to process the user's information, so it 
       will call the function after it's done.
    Navigator.pushReplacement(
        context, MaterialPageRoute(builder: (_) => Home()));
  }
}

這是我做的一個例子,它成功了,使用控制器改變狀態,放一些function等待信息被處理。

希望這可以幫助。 有任何問題,隨時為您解答。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM