2017-03-09 98 views
1

用電子郵件和密碼創建用戶後,我打電話給#sendEmailVerification()。我所知道的是,Firebase先創建用戶,然後將驗證郵件發送給該用戶。Firebase身份驗證(安卓)電子郵件驗證需要一些建議

如果用戶可以訪問該郵件標識並驗證郵件是否爲user.isEmailVerified = true,則此工作正常。

但是,如果用戶未驗證郵件或他/她無法訪問提供的郵件,則電子郵件ID將被鎖定,因爲該帳戶是使用該電子郵件ID創建的。

我的問題是,當用戶驗證電子郵件失敗時該怎麼辦?

+0

也許提醒他們需要使用的應用程序有一個簡單的吐司消息 – Janwilx72

+0

是給與可訪問的郵件ID –

+0

創建用戶的istruction之前驗證是的,我已經表明敬酒消息的用戶。但如果用戶不想驗證,那麼他們的電子郵件ID將被鎖定在Firebase中。我需要的是,如果用戶不驗證,然後刪除他們的帳戶。 –

回答

1

如果您記錄了用戶在Firebase數據庫中註冊的事實,則可以使用Admin SDK定期清除具有未經驗證的電子郵件地址的用戶。

https://firebase.google.com/docs/auth/admin/manage-users#delete_a_user

admin.auth().getUser(uid) 
    .then(function(userRecord) { 
    if (!userRecord.emailVerified) { 
     admin.auth().deleteUser(uid) 
     .then(function() { 
      console.log("Successfully deleted user"); 
     }) 
     .catch(function(error) { 
      console.log("Error deleting user:", error); 
     }); 
    } 
    }) 
    .catch(function(error) { 
    console.log("Error fetching user data:", error); 
    }); 
+0

感謝您的迴應。我需要在服務器端寫這段代碼嗎? –

+0

是的。 Admin SDK只能在您信任的硬件上使用,因爲它可以完全管理員訪問Firebase服務。 –

+0

另外還有一個問題,firebase提供了自動功能,例如爲電子郵件驗證提供時間限制。如果用戶未能及時驗證。 therir賬戶將被刪除。 –