2016-05-22 50 views
17

根據documentation,我強制用戶使用方法signOut()註銷。如何註銷Firebase 3.0中的用戶?

這是我已經試過了,(一次一個,雖然:P):

var rootRef = firebase.database().ref(); 
var loggedInUser = firebase.auth(); 

1. firebase.signOut(); 
2. loggedInUser.signOut(); 
3. rootRef.signOut(); 
4. signOut(); 
5. firebase.auth.signOut(); 

我得到... is not a function以上五種中的每一個。我知道我參考新的Firebase沒有問題,因爲firebase.database().ref();firebase.auth();不會引發錯誤。我也在控制檯中遷移了應用程序。

+0

auth()not auth。 –

回答

49

在JavaScript中,你可以退出與用戶:

firebase.auth().signOut().then(function() { 
    console.log('Signed Out'); 
}, function(error) { 
    console.error('Sign Out Error', error); 
}); 
+0

太好了,謝謝 – hellogoodnight

+0

我們如何在Java中做到這一點? – Rockstar5645

+2

我這樣做,我在控制檯中登錄'簽出',但我的firebase.auth()。onAuthStateChanged()立即返回與用戶仍然登錄:(使用JS SDK 3.5.2 – horsejockey

1

我不知道如果我理解正確的,但如果你想退出每個用戶登錄: 那是不可能的,因爲代碼在客戶端上運行,身份驗證狀態指的是運行它的客戶端。

您無法訪問連接到Firebase身份驗證服務的每個客戶端,因爲這意味着在服務器端運行代碼。

但是,有一個選項可以指定會話的持續時間,即認證部分中的記得參數。

+0

不,目前只是用戶在客戶端登錄 – hellogoodnight

+1

好吧,我的壞,沒有完全理解你的問題的第二部分。 – Thib

2
firebase.auth().signOut() 

只是它適合我!