2014-02-06 29 views

回答

9

對於auth的其他調試。令牌和安全規則使用火力地堡簡單登錄時,你有兩個偉大的工具,在您的處置:

  1. 啓用debug模式,通過生成自定義時火力地堡令牌傳遞可選debug: true標誌。由於安全限制,您無法在使用委託身份驗證服務時自動執行此操作,但您可以通過Custom Login自行生成令牌。

    另外,嘗試在客戶端庫用下面的命令,這將產生額外的信息,例如從被讀取或寫入的路徑,並且將數據通過線路啓用調試模式:

    Firebase.enableLogging(true, true);

    authClient.login('twitter', { debug: true });

  2. 你的建議,採取偷看的認證令牌的內容。有幾種方法可以做到這一點。最簡單的方法是手動將它傳遞給firebaseRef.auth(),並檢查回調中返回的響應負載,其中包含身份驗證的內容。令牌。或者,由於所有Firebase身份驗證。令牌遵循開放的JSON Web Token (JWT)標準,您可以解析auth的內容。令牌通過Base64解碼每個令牌序列,由句點分隔(.)。

    通常情況下,Firebase簡單登錄會自動爲您處理此步驟,但您可以手動撥打ref.auth(<token>, function(authData) { ... });,其中可以通過user.firebaseAuthToken通過簡單登錄進行身份驗證後使用令牌。

+0

對於選項#1,調試數據如何從瀏覽器的javascript控制檯訪問?是一個調試對象返回?我正在使用angularfire loginObj。$ login,我認爲它會在封面下調用auth.login()。對於選項#2,您能否詳細說明如何將標記傳遞給firebaseRef.auth,因爲標記是通過簡單登錄自動生成的。謝謝。 – Jarnal

+0

@Jarnal看到我上面的擴展答案 - 希望有所幫助! –

+0

感謝您的澄清 – Jarnal