我已Anonymous
啟用其中之一,Sign-in providers
以便用戶無需實際登錄即可瀏覽我的應用程式。
創建匿名用戶后,他們會隨機獲得一個uid
如果該用戶從未創建過帳戶,那么當他們通過電子郵件或電話注冊時,該隨機 uid 將成為他們的實際 uid,而不是說它(anonymous)
會顯示他們的電子郵件或電話號碼。
但是如果用戶之前注冊過,然后退出,當他們打開應用程式時,他們將有隨機的 uid。當他們使用實際的電子郵件或電話登錄時,他們最終將使用他們的實際 uid,此時隨機 uid 將無用。我應該從資料庫中洗掉該隨機 uid 還是將其保留在那里?我沒有找到任何建議如何處理不再使用的匿名 uid。
例如:
let anonymousUserUID = Auth.auth().currentUser?.uid // "abc..."
let anonymousUser = Auth.auth().currentUser
let credential = PhoneAuthProvider.provider().credential(withVerificationID: verificationID, verificationCode: verificationCode)
Auth.auth().signIn(with: credential, completion: { (authDataResult, error) in
guard let userId = authDataResult?.user.uid else { return }
let usersRef = Database.database().reference()
.child("users")
.child(userId)
usersRef.observeSingleEvent(of: .value, with: { [weak self](snapshot) in
if snapshot.exists() {
// turns out this anonymous user is already registered and their uid is "xyz..."
// is it a good practice to now delete the anonymousUser?
}
})
})
uj5u.com熱心網友回復:
如有關Firebase 身份驗證限制的檔案中所示,每個專案最多可以擁有 1 億個匿名帳戶。
將廢棄匿名用戶帳戶的 UID 留在系統中幾乎是無害的。但是,如果您獲得了數百萬個或它們因其他原因妨礙您,您可以洗掉它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/494333.html
標籤:IOS 迅速 火力基地 firebase-实时数据库 firebase 身份验证
上一篇:用按鈕暫停計時器