2017-05-26 87 views
1

我正在運行亞馬遜Mechanical Turk的衆包網站。 Firebase用於跟蹤用戶的中間信息。Firebase中的匿名用戶

由於AMT身份驗證與Firebase無關,因此我無法使用這些身份驗證用戶身份。爲了能夠將數據寫入Firebase,必須存在身份驗證。

我目前的解決方案是使用匿名用戶。雖然它有效,但我發現每次重新加載頁面時,都會創建一個新的匿名用戶。這可能不是可擴展的,因爲在開發過程中,我創建了約6000個匿名用戶。

我該如何解決這個問題?

+0

您使用的是JS庫?如果是這樣,這個bug在Firebase JS 4.0.0版中得到修復。 – bojeil

回答

4

這聽起來像是你在每頁加載時都是calling signInAnonymously(),這確實會創建一個新的匿名用戶。

而應該monitor authentication state當他們尚未登入的用戶只登錄:

firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
    // User is signed in. 
    } else { 
    firebase.auth().signInAnonymously().catch(function(error) { 
     // Handle Errors here. 
     var errorCode = error.code; 
     var errorMessage = error.message; 
     // ... 
    }); 
    } 
});