簡體   English   中英

如果用戶刪除了應用程序或更換了手機,如何恢復用戶帳戶?

[英]How to recover user account if user has deleted the app or changed phone?

我正在與 Cloud Firestore 合作,我來到了最上面的問題。 我會給你一個榜樣

  1. 用戶安裝應用程序並使用 Google 登錄。 我將登錄信息保存在設備存儲中,因此用戶不必每次都登錄。 它還使用生成的 ID 存儲在 Firestore 中。
  2. 用戶使用該應用程序並有一天將其卸載。 這會刪除異步存儲中的登錄信息,丟失授予他訪問應用程序的生成 ID。
  3. 有一天他決定重新安裝它,讓我們說在另一台設備上讓它變得更難。 他的個人資料中有各種信息,或者可能是他忘記刪除的有效付款計划,他現在想這樣做。 他點擊 google 登錄,因為他是這樣做的,但現在個人資料信息消失了,因為另一個帳戶是使用另一個生成的 ID 創建的。

如何避免這種情況? 我希望應用程序以某種方式記住用戶帳戶。 用戶帳戶將存儲在我的 Firestore 中。

根據文檔

  • Android和iOS默認開啟離線持久化。

這意味着默認情況下,Firestore 在客戶端設備上創建數據庫的定位副本。

用戶安裝應用程序並使用 Google 登錄。

所以我假設您已經使用 Google 實現了 Firebase 身份驗證

它還使用生成的 ID 存儲在 Firestore 中。

如果沒有看到那個“生成的 ID”,很難說它是否是正確的 ID。 此身份驗證背后的想法是使用 Firebase 登錄您的用戶,無論提供者是什么。 此外,如果您想將用戶數據保存在 Firestore 中,請將其存儲到一個文檔中,該文檔的 id 是來自身份驗證過程的用戶 ID。 這樣,無論提供者是什么,您都將始終將數據存儲在其密鑰永遠不會更改的文檔下。

用戶使用該應用程序並有一天將其卸載。 這會刪除異步存儲中的登錄信息,丟失授予他訪問應用程序的生成 ID。

確實,如果用戶卸載應用程序,所有緩存都會從存儲中清除,包括登錄信息。 話雖如此,請記住,您永遠不應該將此類信息存儲在磁盤上。 使用Firebase 認證時,沒有需要存儲的登錄信息。 如果您還沒有實現它,我建議您從文檔開始。

有一天他決定重新安裝它,讓我們說在另一台設備上讓它變得更難。 他的個人資料中有各種信息,或者可能是他忘記刪除的有效付款計划,他現在想這樣做。 他點擊 google 登錄,因為他是這樣做的,但現在個人資料信息消失了,因為另一個帳戶是使用另一個生成的 ID 創建的。

僅當您使用的 ID 類型不同於上述 ID 時,才會發生這種情況。 如果您使用了來自身份驗證過程的 ID,則用戶第二次嘗試唱歌時,即使使用不同的設備,他也會被識別為具有相同數據的同一用戶。 這樣,用戶將能夠訪問具有相同數據的相同文檔並重新創建本地緩存。

我不確定您在哪個框架中創建應用程序,但 firebase sdk 已登錄並使用 email 和密碼創建用戶。 需要的數據可以保存到 Firestore 上的用戶文檔中。

暫無
暫無

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

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